注册 登录
编程论坛 Python论坛

小白一个,该如何正确使用while循环

懒虫YY 发布于 2018-08-28 22:45, 1802 次点击
n_ew = input('RUN and STOP : ')
if n_ew == 'RUN':
    r_un = True
else:
    print 'Game over'
while r_un:
    i = raw_input('number: ')
    if i == 'quit':
         break
    else:
        k = input ('k = ')
        for j in range(k):
                print j
    continue
print 'Game over'

用PYcharm测试时一直报:

RUN and STOP : RUN
Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/2.2.py", line 1, in <module>
    n_ew = input('RUN and STOP : ')
  File "<string>", line 1, in <module>
NameError: name 'RUN' is not defined

该如何定义 RUN
3 回复
#2
Artless2018-08-29 01:33
这好象不是while问题是input('RUN and STOP : ')问题
#3
zhbtears2018-09-02 20:25
你input()和raw_input()的使用有点混乱,下面是书上的原话。

如果你使用的是Python 2.7,应使用函数raw_input()来提示用户输入。这个函数与Python 3
中的input()一样,也将输入解读为字符串。
Python 2.7也包含函数input(),但它将用户输入解读为Python代码,并尝试运行它们。因此,
最好的结果是出现错误,指出Python不明白输入的代码;而最糟的结果是,将运行你原本无意运
行的代码。如果你使用的是Python 2.7,请使用raw_input()而不是input()来获取输入。
#4
懒虫YY2018-09-06 23:41
回复 3楼 zhbtears
非常感谢,问题已经解决。
输入字符串必须使用:raw_input()

n_ew = raw_input('RUN and STOP : ')
1