2017-01-30 1 views
-2

그래서 저는 그 사람에게 임의의 이름을 제공하는 프로그램을 작성하고 사용자에게 그 이름을 원하는지 묻습니다. 그렇지 않은 경우 사용자에게 새 이름을 제공합니다.Python 3에서 사용자 입력을 인식하지 못합니다.

new_name = str(input("If you are not happy with your name, type 'New name please', if you're good, type I'm good.")).upper 
if new_name in ["NEW NAME PLEASE", "NEW NAME PLEASE.", "NEW NAME PLZ"]: 
    print("Ok, you're Hugh Janus! Try not to say that out loud.") 
else: 
    print("Lovely! Let's carry on!") 

"새로운 이름을 입력하십시오."라고 입력하면 프로그램에서 인식하지 못합니다. 나는 .upper에 문제가 있는지 알기 위해 모든 대문자를 타이핑하려고 시도했지만 아무 일도 없었습니다.

+2

'위'가 필요합니다. 끝에 괄호를 추가하십시오. – Lafexlos

+3

'.upper'는'.upper()'가 아닙니다. BTW'input()'은 파이썬 3에서 문자열을 반환하므로 변환 할 필요가 없습니다. –

+2

한줄의 코드 (첫 줄)에서 너무 많은 일을합니다. 문제가 무엇인지 알 수 있도록 문제를 나누어야합니다. –

답변

1

inputstring을 반환하므로 행 1에서 str을 제거하십시오. 온라인으로도 변경하십시오 upper ~ upper() 그게 문제를 해결해야합니다.

0

방금 ​​"NEW NAME PLEASE"문자열로 테스트 했으므로, upper() 끝에 괄호가 있어야합니다.

관련 문제