Chapter 7 用户输入input( )报错NameErro
《Python编程:从入门到实践》,看到第七章用户输入,即input( )方法,第一次遇到了书中找不到答案的问题——调用input( )方法报错Name Error(用Sublime Text 3和terminal会报这个错,用IDLE就不会)
Sample Code:
prompt = "Tell me something and I will repeat it to you. "
prompt += '\nEnter "x" if you want to stop the game: '
message = ''
while message != 'x':
message = input(prompt)
if message != 'x':
print("\n" + message + "\n")
期望的运行结果:
Tell me something and I will repeat it to you.
Enter "x" if you want to stop the game: Hello!
Hello!
Tell me something and I will repeat it to you.
Enter "x" if you want to stop the game:
实际运行的结果:
错误在于,程序把用户输入的Hello当作了一个name,而此name在代码里并未定义。
目前摸索出来的解决办法:
在输入时加上引号,就可以规避这个错误了。
虽然怪怪的(毕竟要求用户输入的时候必须全文放在引号里也太反人类了),不过好歹能正常执行并且看到期望的结果了。
暂且这样,毕竟目前的主要目的是继续往下学习。
至于怎么彻底解决这个问题,留到真正开始写Demo的时候再钻研吧。