能否请您告诉我为什么会出现此错误?输入输入时,我期望输入一个字符串,但出现以下错误,
File "ifelif.py", line 1, in <module> first_name = input("What is your first name? ") File "<string>", line 1, in <module> NameError: name 'Caitlin' is not defined
我正在使用以下代码:
first_name = input("What is your first name? ")
print("Hello,", first_name)
if first_name == "Caitlin":
print(first_name, "is learning Python")
print("Have a great day {}!".format(first_name))
当我在终端中输入名称并用引号引起一个字符串时,它可以工作,但我得到2个字符串而不是1个字符串:
('Hello,', 'Ed')
文件名是“ ifelif.py”
非常感谢!
答案 0 :(得分:0)
如果您使用的是Python2,则应该使用raw_input
。在Python2中,input
会评估您键入的内容,这就是您得到该错误的原因。
答案 1 :(得分:0)
测试了您的代码。我看起来很好。完全没有错误。它的行为符合我的预期,或者您的预期输出是什么?
first_name = input("What is your first name? ")
print("Hello,", first_name)
if first_name == "Caitlin":
print(first_name, "is learning Python")
print("Have a great day {}!".format(first_name))
第一个输入:男孩,输出为:
What is your first name? boy
Hello, boy
第二个输入:Caitlin,输出为:
What is your first name? Caitlin
Hello, Caitlin
Caitlin is learning Python
Have a great day Caitlin!
这可能只是代码编写样式/首选项,但我会这样做:
print(f"{first_name} is learning Python")
print(f"Have a great day {first_name}!")
这叫做“ f字符串打印”,您将变量放在大括号中