파이썬 while 구문을 만드는데 조언을 구하고 싶습니다.

iesilder의 이미지

#숫자맞추기 게임
import random
 
userName = input('이름을 입력하세요.\n')
print('1~20 사이의 숫자를 맞춰보세요!')
 
answer = random.randint(1,20)
userChoice = int(input('숫자를 입력하세요.\n'))
 
while answer != userChoice:
    if answer > userChoice:
        print('정답보다 작습니다!\n')
    if answer < userChoice:
        print('정답보다 큽니다!\n')
    userchoice = int(input('숫자를 입력하세요.\n'))
else :
    print('%s씨 축하합니다! 정답은 %d가 맞습니다.' %(userName,answer))
    import sys
    sys.exit()

숫자를 맞추는 게임입니다.

맨 처음 userChoice를 입력하고 while안에 들어가면

한 번에 맞추는게 아닌 이상

'정답보다 작습니다(혹은 큽니다.)'만 계속 출력이 됩니다.

그것도 어떤 숫자를 입력하더라도 똑같이 나옵니다.

(ex. 맨 처음 1을 입력해서 '정답보다 작습니다.'가 나오면 이후 2,3,4,5....20을 입력해도 똑같이 '정답보다 작습니다.'가 출력됩니다.)

혹시 구문에 문제가 있는건지 아니면 제가 코드를 잘못 짠건지 모르겠어서 질문 올립니다.

iesilder의 이미지

찾았습니다. 이런 질문을 올려서 죄송합니다.

익명 사용자의 이미지

혼자 풀었노라고 선언만 하고 떠나지 마시고 자문자답이라도 해 두세요. 아래와 같이 여러 가지로 좋은 효과가 있습니다.

1. 알아낸 내용을 잘 정리하여 설명함으로써 스스로의 이해 수준도 높이고, 문서를 작성하는 연습도 할 수 있습니다.
2. 남겨 놓은 답변은 다른 사람들에게도 가이드라인이 되므로 커뮤니티에 기여할 수 있습니다.

iesilder의 이미지

while 구문 안의 변수를 userChoice가 아닌 userchoice로 작성해서 그렇습니다.

대소문자 구별을 못했었네요.