是否可以有一个"or"来初始化 Python 中带有 2 个字符串的变量?



是否可能有一个"或";用2个字符串初始化一个变量
这是变量:correctAnswer=";黑色";或";黑色";

这是我的密码;它运行为"0";黑色";但它不认识到";黑色":

x = 1
correctAnswer = "Black" or "black"
colorAnswer = input("Guess my favorite color: ")
while colorAnswer != correctAnswer:
print("Sorry, but that is not my favorite color.  Please try again.")
colorAnswer = input("Guess my favorite color: ") 
x = x + 1
print("That is correct, my favorite color is Black.  It only took you " + str(x) + " 
tries.")

您可以将集合与correctAnswer = {'Black', 'black'}一起使用,并与if colorAnswer in correctAnswer:一起检查。

使用其他方法并在检查之前将输入转换为小写可能会更好。那么就有了correctAnswer = 'black'if colorAnswer.lower() = correctAnswer:

正如您所看到的,您无法初始化这样的变量。你可以直接检查条件:
while color not in ('black', 'Black'):

这是不可能的。另一种可能性是随机化颜色的初始化。

import random
color = random.choice(["red", "black"])

最新更新