我是python的新手,正在尝试通过做一些小型项目来学习。
我正在尝试编写一个显示四个属性名称的程序, 要求用户识别不是铁路的财产。应该告知用户选择是否正确。
properties = "Reading,","Pennsylvania","B & O","Short Line"
question = str(input("Which is not a railroad?")) **Short Line**
if properties == "Short Line":
print("correct")
else:
print("incorrect")
但是,我的最终输出显示为“不正确”,我在做什么错了?
铁路的四个属性 是宾夕法尼亚州雷丁市 B&O和短线。 哪个不是铁路?短线 正确。 Short Line是一家巴士公司。
答案 0 :(得分:0)
将您看到的代码与我看到的内容结合起来。
首先,不确定实际代码中是否确实包含**Short Line**
,但是如果您要尝试注释,请使用#这样,它将不会在运行时被解释。
第二,在其他答案中,您正在检查要拉入数组的属性。您应该检查存储在问题中的输入。
properties = "Reading,","Pennsylvania","B & O","Short Line"
question = str(input("Which is not a railroad?")) # **Short Line**
if question == "Short Line": # replaced properties with question
print("correct")
else:
print("incorrect")
print(properties)
print(question)
我发现,当我无法理解为什么某项功能无法正常工作时,我会抛出一些打印语句以查看变量的作用。
答案 1 :(得分:0)
您可能想循环捕获用户,否则您将不得不经常运行代码以找到正确的答案(除非这是所需的行为,否则可以保留它)。另外,请注意您可能要大写或小写,因为用户可能会以“短线”(小写“ L”)形式提供答案,并且代码将返回不正确的形式。当然,这取决于您将接受什么作为答案。
样品
print ("Reading,Pennsylvania,B & O, or Short Line. Which is not a railroad?")
user_input = input("Please provide an answer: ")
# != the loop will close once the user inputs short line in any form
# The upper.() will convert a user_input string to all caps
while user_input.upper() != "SHORT LINE":
print ("Incorrect, Please try again.")
user_input = input("Which one is not a railroad? ")
print ("Correct")
答案 2 :(得分:-1)
为您点缀它
print( "Reading, Pennsylvania, B & O, and Short Line. Which is not a railroad?" )
print("Which is not a railroad?")
answer = input()
if answer == "Short Line":
print("correct")
else:
print("incorrect")