gpt4 book ai didi

python - "or"似乎没有在 Python 中发挥应有的作用

转载 作者:行者123 更新时间:2023-11-28 20:08:02 25 4
gpt4 key购买 nike

<分区>

我正在尝试学习 Python,并且在为我自己的学习目的编写“测验”时偶然发现了这种令人难以置信的奇怪异常现象。 bool “或”函数有点奇怪。这是一段代码:

def answercheck(answer):
solved = 0
while solved == 0:
useranswer = raw_input("> ")
if useranswer == answer:
solved = 1
correct()
elif useranswer == "A" or "B" or "C" or "D":
solved = 1
incorrect()
else:
print "False input. Try again."

事情是这样的。在为测验参赛者打印出测验问题后,以真实答案作为参数调用 answercheck 函数。然后提示用户回答。因为我希望唯一有效的答案是“A”、“B”、“C”或“D”,所以我将其置于“while”循环中。

因此,我怀疑,如果有人通过 raw_input 将“useranswer”设为无用的东西,例如“lol”,它会再次提示用户,直到插入“A”、“B”、“C”或“D”作为答案.但是,它不会将任何不是“answer”的答案视为不正确。

所以我重写了一点,当我这样做时它似乎起作用了:

def answercheck(answer):
solved = 0
while solved == 0:
useranswer = raw_input("> ")
if useranswer == answer:
solved = 1
correct()
elif useranswer == "A":
solved = 1
incorrect()
elif useranswer == "B":
solved = 1
incorrect()
elif useranswer == "C":
solved = 1
incorrect()
elif useranswer == "D":
solved = 1
incorrect()
else:
print "False input. Try again."

这对我来说似乎有点多余。第一个脚本出了什么问题?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com