• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

20.01.13 12:21 작성 조회수 181

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

답변을 작성해보세요.

1

안녕하세요.

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

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

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

if pwd == 1212

            print('hi kim')