为什么在检查&#34中的变量时会一直收到此错误;如果"条件?

时间:2016-08-07 18:01:24

标签: python

当我运行此代码时:

#!/usr/bin/python
from time import strftime

#welcome

state = input("Morning? [y/n] ")
if state == y:
    print("Good morning sir! Welcome to our system!")
    pass
else:
    print("Good afternoon sir! Welcome to our system!")
    pass


user = input("What is your name? ")
print("Hello World.")
print("{} is using this computer right now".format(user))
print(strftime("%Y-%m-%d %H:%M:%S"))

我收到此错误:

Morning? [y/n] y
Traceback (most recent call last):
  File "C:/Users/toshiba/py/hello/hello_world.py", line 7, in <module>
    if state == y:
NameError: name 'y' is not defined

此代码用于显示自定义打印消息,具体取决于用户的输入,如第一种输入法中所示。我在python 3中编码,但我无法弄清楚问题。

1 个答案:

答案 0 :(得分:4)

你的if语句应该是:

if state == 'y':

state的类型是一个字符串。

此外,如果用户输入Yyes,您的if语句将会失败。它现在并不是非常重要,但你可以像这样处理:

if state in ('y', 'Y', 'yes'): 

对未来而言,这只是一件好事。