如果声明有或没有按预期工作

时间:2016-02-24 14:42:47

标签: python if-statement

我的程序首先询问用户手机有什么问题,当用户写回答时,程序会检测关键字并输出解决方案。我使用了“或”语句,但是当我输入“我的手机掉在水中而我的扬声器无法正常工作”时,它应该输出“你需要新的扬声器。如果有水接触你也可能需要一个新的主板,如果它没有出现“但它输出”你需要更换屏幕

任何人都可以告诉我我做错了什么,告诉我将来如何克服这个问题。

JButton

1 个答案:

答案 0 :(得分:0)

我认为你误解or。在编程中,or与英语略有不同。 x or y in z表示"is x True or is y in z?"。如果第一个参数(x)非空,则表示它的计算结果为True。没有检查z中存在的任何内容。如果x为空,则评估为False并且检查yz的存在,而不是x&# 39;存在您需要为每个测试创建一个新测试。此外,您在第二个problem中使用了problem1而不是elif

if "cracked" in problem1 or "screen broke" in problem1:
    ...
elif "water" in problem1 or...
    ...