我是Python新手,我有一个正在使用的数据集,一列由诸如(蓝色,红色,金色,白色)之类的字符串组成。我希望用户输入任何这些值,但我想让用户输入不区分大小写并拒绝整数输入,也就是说,如果用户输入“bLue”/“blUe”,它应该接受输入,如果用户输入输入“7”/“-4”/“0”,它应该提示用户重新输入字符串值。
def user():
while True:
try:
print(f"Blue, Red, Gold, White, Black, Brown")
user = input("Enter a color: ")
except ValueError:
print("Please enter a valid input")
continue
else:
break
return user
当用户输入像 3,2,-1,0 这样的数字时,它只返回数字,我希望它拒绝用户输入并告诉用户输入一个字符串,我还希望输入的字符串是不区分大小写。谢谢
最佳答案
def user():
while True:
colors = ["blue", "red", "gold", "white", "black", "brown"]
print(", ".join(colors))
user_input = input("Enter a color: ").lower()
if user_input in colors:
break
else:
print("Please enter a valid input")
return user_input
我认为你让事情变得比需要的更加复杂。这应该适用于您所描述的内容。如果还有其他需要更改的地方,请告诉我。
关于Python:如果不是字符串,请使用重新输入输入并将用户输入转换为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74926736/