当我运行此代码时:
#!/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中编码,但我无法弄清楚问题。
答案 0 :(得分:4)
你的if语句应该是:
if state == 'y':
state
的类型是一个字符串。
此外,如果用户输入Y
或yes
,您的if语句将会失败。它现在并不是非常重要,但你可以像这样处理:
if state in ('y', 'Y', 'yes'):
对未来而言,这只是一件好事。