如何在python中杀死程序

时间:2014-12-14 16:02:15

标签: python python-3.x

当用户说“不”时,我试图在python 3中杀死一个程序。开始数学测验:这是我使用

的代码
import sys

while True:
    new_item = input("> ")
    if new_item == "Yes" or "yes":
        break
    elif new_item == "no":
        sys.exit()

哪个指针不起作用?

4 个答案:

答案 0 :(得分:2)

你的问题在这里:

if new_item == "Yes" or "yes":

你需要使用:

if new_item in ["Yes", "yes"]:

或:

if new_item == "Yes" or new_item == "yes"

您的原始代码被解析为:

if (new_item == "Yes") or "yes":

并且总是评估为True,因为"yes"是真值。

答案 1 :(得分:1)

if new_item == "Yes" or "yes":

此条件始终为True。它可以表示为:

(new_item == "Yes") or ("yes")

非空字符串'yes'始终评估为True

将条件更改为:

if new_item in ['Yes', 'yes']:

答案 2 :(得分:0)

您需要更改if语句,它不能正确评估。您需要使用此代码来解决您的问题:

import sys

while True:
    new_item = input("> ")
    if new_item == "Yes" or new_item == "yes":
        break
    elif new_item == "no":
        sys.exit()

答案 3 :(得分:0)

怎么样?
import sys

while True:
    new_item = input("> ")
    new_item = new_item.lower() 
    #everything you wrote in input will be lowercase, no more "or" problems
    if new_item.lower() == "yes":
        break
    elif new_item.lower() == "no":
        sys.exit()