Chapter 7 用户输入input( )报错NameError

《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: 

实际运行的结果:

Chapter 7 用户输入input( )报错NameError_第1张图片

错误在于,程序把用户输入的Hello当作了一个name,而此name在代码里并未定义。

目前摸索出来的解决办法:

在输入时加上引号,就可以规避这个错误了。

Chapter 7 用户输入input( )报错NameError_第2张图片

虽然怪怪的(毕竟要求用户输入的时候必须全文放在引号里也太反人类了),不过好歹能正常执行并且看到期望的结果了。

暂且这样,毕竟目前的主要目的是继续往下学习。

至于怎么彻底解决这个问题,留到真正开始写Demo的时候再钻研吧。

你可能感兴趣的:(Chapter 7 用户输入input( )报错NameError)