2017-12-11 3 views
-3

최종 프로젝트를 완료하려고하고 있으며 코드 일부는 예 또는 아니오 질문 용으로 작성되었습니다. 나는 그것이 매우 앞으로 나아갈 것이라고 생각했지만 분명히 그렇지 않다.NameError : name Y가 정의되지 않았습니다. 예 : 아니오

choose = [] 

choose = input("Do you wish to continue? Press Y to continue. Any key other then Y will end the program. ") 
if choose == Y and choose == y: 
    print("You selected to continue. God help you.") 
else: 
    quit() 

코드 섹션의 목적은 계속하지 않으려면 스크립트를 중지하는 것입니다. 그러나 Y 또는 y를 입력 할 때마다이 문제가 발생합니다.

역 추적 (마지막으로 가장 최근 통화) : 라인 (155), 구분 1 에서 == Y를 선택하고 == y를 선택하는 경우 : 나가서 설명하자면 NameError : 이름이 'Y'가

정의되지 않은이 아마 매우 간단하고 나는 단지 그것을 놓치고있다. 그러나 누군가 가능한 대답이 있으면 도와주세요!

+2

간단한 타이핑 오류로 닫는 투표. OP가 "y"와 "Y"를 따옴표로 깜박했습니다. – abccd

+0

언젠가 다른 사람을 도울 가능성이 높기 때문에 투표를 열어두기로했습니다. 오류 메시지는 명확하고 쉽게 Google 색인에 있습니다. 나는이 특별한 실수로 누군가이 게시물에 올 것이라고 확신한다. –

답변

1

Y은 변수가 아니며 문자 그대로 Y 값을 사용자에게 묻습니다. 사용되는 변수는 choose입니다. 코드에서 Y 또는 y은 따옴표로 묶어야합니다.

또한, 나는 당신이 choose 동시에 값을 보유 할 수 없기 때문에, OR 연산자를 사용하는 의미 생각 Yy (글쎄, 적어도 이러한 맥락에서.)

그래서, 같은되어야합니다 :

if choose == "Y" or choose == "y": 
관련 문제