首页 > 解决方案 > 错误:NameError:未定义名称“Caitlin”

问题描述

你能告诉我为什么我会收到这个错误吗?当我输入输入时,我期待一个字符串,但我收到以下错误,

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”

非常感谢!

标签: python

解决方案


测试了你的代码。我觉得很好。完全没有错误。它的行为方式与我期望的一样,或者您的输出期望是什么?

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

第二个输入:凯特琳,输出是:

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 string print”,您将变量放在大括号中


推荐阅读