지금까지 배운 내용들의 대부분은 print() 함수를 사용한 출력 부분이었습니다. 오늘은 프로그래밍에서 가장 중요한 I/O 즉, Input 입력과 Output 출력에서 입력 부분인 input() 함수를 배워보겠습니다.
컴퓨터 프로그래밍에서 사용자와 소통할 경우, 일방적으로 컴퓨터가 사용자에게 화면(출력)만을 보여주는 경우는 거의 없습니다. 넷플릭스 사용자가 어떠한 방법으로든 컴퓨터에게 명령을 하거나 원하는 행동(입력)을 할 수 있습니다. 파이썬에서 이러한 처리는 주로 input() 함수를 사용합니다. 그럼 바로 간단한 실습을 해보시죠! ㄱㄱ ~
name = input("당신의 이름은 무엇? : ")
print("안녕 " + name)
생각보다 엄청 쉽죠? 딱 두줄의 소스코드로 프로그래밍의 양대 산맥인 입출력(I/O) 처리가 되었습니다. 프로그래밍을 실행해 보시면 터미널 창에서 당신의 이름은 무엇? : _ 이라는 문구와 함께 입력 대기 상태로 변합니다. 이러한 것을 주로 입력(명령) 프롬프트라고 부릅니다. 그럼 프롬프트 상태를 조금 더 상세하고 친절하게 변경해보겠습니다.
prompt = "어서와~ 파이썬은 처음이지!"
prompt += "\n너의 이름은 뭐니? : "
name = input(prompt)
print("안녕~ " + name + "군" + " 반가워!")
prompt = "그럼 넌 몇살이니? : "
age = input(prompt)
print("너는 " + age + "살" + " 이구나!")
이번에는 input() 함수에 직접 문자열을 넣지 않고 prompt 라는 변수를 사용했습니다. 백슬래쉬 n 부호는 문장을 한 칸 아래로 내리는(enter) 처리입니다. 두 번에 입력을 받아서 이름과 나이를 저장하고 출력을 했습니다. 근데 컴퓨터가 감히 인간에게 반말을 하니 기분이 나쁘군요! 그럼 컴퓨터의 나이와 인간의 나이를 비교하는 코드를 넣어보겠습니다.
# 코드 생략 ---
com_age = 18
text = ""
age = input(prompt)
# 비교를 위해서 숫자로 변환
age = int(age)
if age <= com_age:
text = "너는 " + str(age) + "살" + " 이구나!"
else:
text = "아이고~ " + name + "행님 " + str(age) + "살" + " 이시군요!"
print(text)
(상단 부분 코드는 같기 때문에 생략) 컴퓨터 나이를 18살로 설정하고 입력하는 나이와 비교해서 화면에 표시해줄 문구를 변경했습니다. 여기서 중요한 부분은 input() 함수로 입력을 받으면 숫자도 문자 타입으로 바뀌기 때문에 int() 함수를 사용해 숫자로 변경하고 if 조건문으로 비교를 해야 합니다. 출력은 반대로 str() 함수를 사용해 문자 변경입니다.
prompt = "홀짝인지 맞춰보겠다!"
prompt += "\n 닝겐 숫자를 넣어라 : "
number = int(input(prompt))
check = ""
# 기호 % 는 나머지 연산자
if number % 2 == 0:
check = "짝"
else:
check = "홀"
print(str(number) + "은 " + check)
그럼 마지막으로 문제를 한번 내보겠습니다! 위에 있는 코드를 실행해 보시고 어떻게 컴퓨터가 숫자를 홀짝으로 구별했는지 맞춰보세요~ 힌트는 나머지 연산자 즉, 어떠한 숫자를 2로 나눈 그 나머지 값, 예를 들면 10 나누기 2의 몫은 5이고 나머지는 0입니다. 또는 11 나누기 2는 (정수) 5이고 나머지는 1입니다.
어때요? 오늘도 참 쉽죠?
댓글