-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
if문에서는 숫자형도 '' <-를 붙여줘야 하는 이유?
20.01.13 12:21 작성 조회수 183
0
pwd = input('pwd?')
if pwd == 1212:
print('hi kim')
위와같은 if문을 idle에서 실행시켜봤은데 에러가 뜨더라구요.
pwd? 라고 물었을 때 1212라고 입력하면 hi kim이 출력되도록 하고싶었습니다.
왜그런지 알아보니,
if pwd == 1212: 라고 코드를 작성하면 에러가 나고
if pwd == '1212': 라고 해야 에러가 안나더라구요
숫자는 ''없이 그냥 쓸 수 있는걸로 생각하고있었는데
(예를들어 변수를 할당할 때도 a = '1212' 라고 하지 않고 a = 1212 라고 그냥 쓰잖아요?)
if문에서의 숫자는 ''를 붙여야 실행이 되어서 조금 의아했습니다.
위 코드같은 경우에도 pwd? 를 물어봤을 때 1212라고 입력할 것이고, 그 것은 str형태가 아닌 int형을 입력하는 건데
어쨰서 str형이 되는 '1212' 라고 코드를 짜놔야 하는지,
왜 그런건지 궁금합니다.
답변을 작성해보세요.
1
파이썬 TA
지식공유자2020.01.13
안녕하세요.
input() 함수는 사용자로부터 입력받은 것을 문자열로 인식하기 때문입니다.
따라서 사용자로부터 숫자형을 입력받기 위해서는 앞에 int로 캐스팅을 해주어야합니다.
pwd = int(input('숫자를 입력하세요: '))
if pwd == 1212
print('hi kim')
답변 1