if문에서는 숫자형도 '' <-를 붙여줘야 하는 이유?

미해결질문
Sanghyeok KIM 프로필

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' 라고 코드를 짜놔야 하는지,

왜 그런건지 궁금합니다.

파이썬 TA 프로필
파이썬 TA 5달 전

안녕하세요.

input() 함수는 사용자로부터 입력받은 것을 문자열로 인식하기 때문입니다.

따라서 사용자로부터 숫자형을 입력받기 위해서는 앞에 int로 캐스팅을 해주어야합니다.

pwd = int(input('숫자를 입력하세요: ')) 

if pwd == 1212

            print('hi kim')

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스