我的程序首先询问用户手机有什么问题,当用户写回答时,程序会检测关键字并输出解决方案。我使用了“或”语句,但是当我输入“我的手机掉在水中而我的扬声器无法正常工作”时,它应该输出“你需要新的扬声器。如果有水接触你也可能需要一个新的主板,如果它没有出现“但它输出”你需要更换屏幕“
任何人都可以告诉我我做错了什么,告诉我将来如何克服这个问题。
JButton
答案 0 :(得分:0)
我认为你误解or
。在编程中,or
与英语略有不同。 x or y in z
表示"is x True or is y in z?"
。如果第一个参数(x
)非空,则表示它的计算结果为True
。没有检查z
中存在的任何内容。如果x
为空,则评估为False
并且检查y
中z
的存在,而不是x
&# 39;存在您需要为每个测试创建一个新测试。此外,您在第二个problem
中使用了problem1
而不是elif
:
if "cracked" in problem1 or "screen broke" in problem1:
...
elif "water" in problem1 or...
...