我是Python和编程的新手,并希望获得有关如何使此代码段有效的一些有用的建议。
整个程序在两个文本文件中搜索婴儿名称及其排名。第一个try / except语句可以根据需要工作,但第二个是给我一些麻烦。
我需要用户输入'boy'或'girl'来确定要开始搜索的文件。如果用户拼错或输入除男孩或女孩以外的任何内容,我需要显示错误“无效的性别”。就像现在一样,我收到以下错误 -
追踪(最近一次呼叫最后一次):
文件“C:/ Users / Drew / Documents / CIT 144 / babynames.py”,第14行,in 如果输入== boy:
NameError:名称'boy'未定义
我完全不知道接下来要做什么,我知道我需要定义名字'男孩',但我不知道在哪里或怎么做。
提前感谢所有回复。
try:
boyfile = open("boynames2014.txt", "r")
girlfile = open("girlnames2014.txt", "r")
except IOError:
print("Error: file not found")
try:
gender = input("Enter gender (boy/girl): ")
if input == boy:
print("Enter name to search for: ",name)
if input == girl:
print("Enter name to search for: ",name)
except IOError:
print("Invalid gender")
答案 0 :(得分:2)
boy
和girl
需要成为字符串。
if input == "boy":
...
if input == "girl":
...
注意,此比较中没有任何内容会引发IOError,因此您不应该尝试捕获该异常。
答案 1 :(得分:0)
尝试这种方式:
try:
gender = input("Enter gender (boy/girl): ")
if input == "boy":
print("Enter name to search for: ",name)
if input == "girl":
print("Enter name to search for: ",name)
您正在与文字进行比较。文字文字应该用引号括起来。