2014-10-02 2 views
-2

내 전화에 QPython 응용 프로그램을 테스트 그리고 난 다음 코드가 있습니다 그러나'이름'이 정의되어 있지 않지만 맹세 컨데? (파이썬)

#-*-coding:utf8;-* 
#qpy:console 
#qpy:2 

numOne = 1 
numTwo = 2 

person = str(input("What's your name?")) 
print "Guess what I can do?" 
print "Hello,", person 

, 그것은 오류를 반환 :

> hipipal.qpyplus/scripts/.last_tmp.py" < 
What's your name?jason 
Traceback (most recent call last): 
    File "/storage/emulated/0/com.hipipal.qpyplus/scripts/.last_tmp.py", line 8, in <module> 
    person = str(input("What's your name?")) 
    File "<string>", line 1, in <module> 
NameError: name 'jason' is not defined 
1|[email protected]:/ $ 

포맷이 꺼져 있으면 죄송합니다, 이동 중에 휴대 전화에서이를 게시하고 있습니다.

+13

사용을 대신 raw_input' : 예상대로

>>> input('hello: ') hello: jason Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'jason' is not defined >>> raw_input('hello: ') hello: jason 'jason' 

Python3에서, 그것은 작동합니다. 'input'은 입력을 파이썬으로 평가합니다. – njzk2

+1

당신은'jason'이라는 이름의 변수가 있다고 맹세합니까? 어디에서 정의 했습니까? – geoffspear

+0

그래서이 질문은 아주 멋지게 요약 해 놓았습니다. https://stackoverflow.com/questions/4915361/whats-the-difference-between-raw-input-and-input-in-python3-x – NaeiKinDus

답변

2

Python2를 사용하는 경우 input()은 입력을 평가합니다. 이는 jason을 입력 할 때 jason이라는 변수를 찾으려고한다는 것을 의미하며 존재하지 않기 때문에 예외가 발생합니다. 당신은 문자열로 입력을 반환하는, raw_input해야`

>>> input('hello: ') 
hello: json 
'json' 
+0

아, 그래. 제가 사용한 모든 클래스와 책은 Python 2.7만을 다루었습니다! 3의 차이점을 알지 못했습니다. 인쇄 문구가 이제는 괄호 안에 들어간다는 것을 배웠습니다! –

관련 문제