Python:使用Booleans w/If语句和raw\inpu

2024-04-16 14:42:37 发布

您现在位置:Python中文网/ 问答频道 /正文

为用户输入小写或大写答案而绑定帐户。不管我输入什么,它都不起作用,因为第一个语句被接受为true。也许我对布尔的理解不够,但是对于第一个语句,如果我不输入“B”或“B”,那么它将是错误的,导致下一个语句被计算;或者我是这么想的。有人能解释一下我错了什么吗?你知道吗

next = raw_input("Enter A, B, C or D: ")

if next == "B" or "b":
    print "Correct!"

elif next == "D" or "d":
    print "Fair enough, Ill give you this one."

elif next == "C" or "A":
    print "Incorrect"
    exit(0)

else:
    print "WRONG. START AGAIN"
    exit(0)

Tags: or答案用户trueinputraw错误exit
1条回答
网友
1楼 · 发布于 2024-04-16 14:42:37

你缺乏布尔逻辑工作原理的基本知识。我推荐一本书或多在网上阅读。你知道吗

if next == "B" or "b":

应该是

if (next == "B") or (next == "b"):

如果用字母变量替换代码中的每个变量,得到的结果是:A == B or C,结果总是为True,因为在您的示例中,C只是一个大于0的数字,Python认为它是“truthy”。你知道吗

相关问题 更多 >