본문 바로가기

Programming languages/Python

7. Input&Print

728x90
반응형

<Input>

 

c언어를 접해본 독자들은 scanf를 사용해본 경험이 있을 것이다.

파이썬에도 굉장히 유사한 기능이 있다.

 

a = input("입력하세요: ") #입력함수 input()
print(a) #입력받은 a 출력
print(f"a는 {type(a)} 입니다.") #a의 자료형 출력

위 프로그램은 입력받는 결과에 따라서 값이 달라진다.

 

입력하세요: 안녕하세요
안녕하세요
a는 <class 'str'>입니다.

 

필자는 예시로 다음과 같이 안녕하세요 를 입력했다.

a에 문자열로 '안녕하세요'가 들어가서 print(a)로 출력된다.

필자가 문자열을 입력했기에 type() 함수에 따라서 str형이라고 출력된다.

 

입력하세요: 16
16
a는 <class 'str'>입니다.

 

위는 정수 16을 입력했을 때의 결과다. 독자는 뭔가 이상함을 느끼지 못했는가?

분명 정수 16을 입력했고 출력도 16이 나왔지만 자료형이 str형이라고 나왔다.

그렇다 input() 함수를 통해서 입력받은 값은 자료의 종류에 관계없이 전부 문자열로 인식된다.

 

a = input("입력하세요: ")
print(a+14) #문자열로 인식하기 때문에 해당 연산은 오류가 난다. 문자열 + 정수 연산이기 때문이다.
print(int(a)+14) #a를 정수형으로 형변환 해주면 연산이 가능하다.
print(f"a는 {type(int(a))} 입니다.") #역시 형변환

#############################################################################

b = int(input("정수를 입력하세요: "))
print(b)
print(type(b))

 

따라서 위와 같이 형 변환을 이용해 주면 된다.

입력 시 형제한 방법을 표현한 것이 b이다. 연산 결과는 다음과 같다.

 

정수를 입력하세요: 14
14
<class 'int'>

 

깔끔하지 않은가? b와 같은 예시처럼 input() 함수를 사용할 때 특정 자료형만 받아야 하는 특별한 상황이라면 저렇게도 사용할 수 있다.

다만 형을 제한시켜 놓으면 다른 자료형이 입력될 경우 오류를 발생시킨다. 상황에 맞게 잘 이용하도록 하자.

 

 

<Print> 

 

우리가 지겹도록 써온 print() 문이다.

변수, 값, 문장 등등 우리가 필요한 것들을 눈으로 볼 수 있게 해주는 파이썬의 아주 고마운 존재이다.

여러 가지 케이스를 보면서 짚고 넘어가 보겠다.

print("My" "Teas" "Gone" "Cold" "I'm" "Wondering" "Why") #1
print("My"+"Teas"+"Gone"+"Cold"+"I'm"+"Wondering"+"Why") #2
print("My" + "Teas" + "Gone" + "Cold" + "I'm" + "Wondering" + "Why") #3


print("My","Teas","Gone","Cold","I'm","Wondering","Why") #4
print("My Teas Gone Cold I'm Wondering Why") #5

####################################################################

for i in range(1,10):
    print(i, end=' ') #요소값을 end=' '에 들어간 문자를 요소값 사이에 하나씩 넣으면서 한줄에 출력

위의 결과는 아래와 같다.

MyTeasGoneColdI'mWonderingWhy
MyTeasGoneColdI'mWonderingWhy
MyTeasGoneColdI'mWonderingWhy
My Teas Gone Cold I'm Wondering Why
My Teas Gone Cold I'm Wondering Why
1 2 3 4 5 6 7 8 9 

 

우선 #1,2,3은 완전히 동일하다.

""로 묶인 것들은 띄어쓰기가 적용되지 않는다. '+' 기호도 말 그대로 이어 붙인 것이기 때문에 띄어쓰기가 없다.

#4,5도 동일하다. ,를 이용하거나 " "안에 문장을 적은 경우 띄어쓰기가 적용이 된다.

 

마지막으로 print(i, end=' ') 이 문장이 있다.

이는 i를 출력 후 바로 뒤에 ' '(띄어쓰기)를 출력하고 이를 줄 바꿈을 하지 말라는 의미이다.

위는 반복문 안에 출력문이 들어가 있기 때문에 반복문의 반복이 끝날 때까지 'i '를 줄 바꿈을 하지 않고 계속 출력한다.

728x90
반응형

'Programming languages > Python' 카테고리의 다른 글

Examples) Chapter4  (0) 2021.12.12
8. Files  (0) 2021.12.11
6. Function  (0) 2021.12.10
Examples) Chapter 3  (0) 2021.12.09
5. Control Statement(if, while & for)  (0) 2021.12.08