使用Python 3.2中的字符串'或'运算符时出现问题

时间:2016-02-22 19:19:58

标签: python string operators python-3.2

我遇到了一些严重的问题,让'或'运算符在python 3.2中使用字符串

我的代码与此类似:

   def choose_colour():

    cmd = input("Enter command here: ")

    if cmd != ("green") or ("blue") or ("yellow"):

        choose_colour()

    if cmd == ("green"):

        colour = ("g")

    if cmd == ("blue"):

        colour = ("b")

    if cmd == ("yellow"):

        colour = ("y")

    print (colour)

choose_colour()

但是,如果我输入其中一种颜色,它仍会重复'choose_colour'功能。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您尝试将!=用于三个条件,则应将!=应用于所有条件:

if cmd != ("green") or cmd != ("blue") or cmd != ("yellow"):

在Python中,我们无法使用您所使用的!=运算符。例如,请看这里:

a = 1
b = 2
c = 1
if a == c or b:
    print ("ok")  # it will print ok how ever conditions a==b==c not satisfied

由于此处检查的条件为a == cb==True不是a==ca==b