我正在尝试使用while循环来确保输入是我想要的。这段代码就是我想要做的一个例子。有没有办法让这项工作?
谢谢。
colours=["red","black","blue"]
colour=raw_input("enter a colour")
while colour not in colours or colour!="exit":
colour=raw_input("enter a colour")
答案 0 :(得分:2)
您需要使用and
代替or
:
while colour not in colours and colour!="exit":
您当前的代码会不断循环,因为colour
总是不在colours
或不等于"exit"
。
答案 1 :(得分:0)
试试这个。
while colour not in colours and not colour == "exit":
答案 2 :(得分:0)
这是我的解决方案
color_list = ["red", "black", "blue"]
while True:
color = str(raw_input("Enter a color: ")).strip()
if (color.lower() in color_list or color.lower() == 'exit'):
break
答案 3 :(得分:-1)
以这种方式编写可以避免重复提示。终止条件也更自然地读取。
while True:
colour = raw_input("enter a colour")
if colour in colours or colour == "exit":
break