Python用户输入菜单

时间:2018-06-27 23:42:13

标签: python python-2.7

我目前正在学习来自C ++的Python 2.7。

我正在处理菜单样式输入,但是由于某种原因,在接受用户输入后,它将打印“开始”,然后退出程序。我不确定自己在做什么错。这是我的代码。

string=raw_input('Start Program?(Y/N) ')

print string


if string == 'Y' or 'y' or 'Yes' or 'yes':

    print 'Starting'


if start == 'N' or 'n' or 'No' or 'no' or 0:

    print'Closing program'

    exit()

else:

    print 'Invalid Respons'
    #program should loop back and ask for input again...

1 个答案:

答案 0 :(得分:1)

  

如果字符串=='Y'或'y'或'Yes'或'yes'

布尔逻辑的工作方式不像英语那样。 string == 'Y' or 'y' or 'Yes' or 'yes'始终等于True

string == 'Y' or 'y' or 'Yes' or 'yes' = (((string == 'Y') or 'y') or 'Yes') or 'yes' = ((??? or 'y') or 'Yes') or 'yes' = (True or 'Yes') or 'yes' = True or 'yes' = True

我想您需要这样的代码:

if string == 'Y' or string == 'y' or string == 'Yes' or string == 'yes':

或者简单起见:

if string in ('Y', 'y', 'Yes', 'yes'):