emmm,没错,又是我,我又有问题了
while True:answer = input("可以做我的女朋友嘛?")
if answer == "可以" or "好啊" or "OK":
print("哇~~终于成功了,劳资好累啊")
break
print("不能放弃,再来")
没错,这是一个错误的代码,我想问的是, 如何让if answer == "可以" or "好啊" or "OK": 输入任意一个答案,就可以执行 print("哇~~终于成功了,劳资好累啊"),就是有A,B,C,D,四个选项,选其中的任意一个都可以触发下一条指令,但是这四个以外的不行,列为大佬,救救孩子吧(从我的积分上看得出我是个菜鸟中的菜鸟) 不能偷懒,应该是anwser == "可以" or answer == "好啊" or answer == "OK" while True:
answer = input("可以做我的女朋友嘛?")
if answer == "可以" or "好啊" or "OK":
print("哇~~终于成功了,劳资好累啊")
break
else:
print("失败了o╥﹏╥o")
break
print("不能放弃,再来") qiuyouzhi 发表于 2020-5-8 11:05
不能偷懒,应该是anwser == "可以" or answer == "好啊" or answer == "OK"
必须要有answer是吗? 3152332682 发表于 2020-5-8 11:06
必须要有answer是吗?
是的,Python没有那么智能。 本帖最后由 Hoiste 于 2020-5-8 11:10 编辑
弄成列表就行了。连续的逻辑判断会导致后面的or不会和answer进行比较,也就是answer虽然不等于第一个,但是因为一个False的结果和一个有内容的字符创(有内容字符创判定为True)进行or判断就会是True,所以这个if条件必然会返回True的,要么弄长一点,每次都answer = XXX,要么就像这样用列表及成员操作
while True:
answer = input("可以做我的女朋友嘛?")
if answer in ["可以", "好啊", "OK"]:
print("哇~~终于成功了,劳资好累啊")
break
print("不能放弃,再来") 两种方式
lst=["可以" , "好啊" , "OK"]
while True:
answer = input("可以做我的朋友嘛?")
if answer in lst:#if answer=='可以' or answer=='好啊' or answer=='OK':
print("舒服,好舒服")
break
print("我就不信了,再来") 老八秘制 发表于 2020-5-8 11:05
这位新手,你也错了{:5_99:} qiuyouzhi 发表于 2020-5-8 11:06
是的,Python没有那么智能。
可以帮帮改一下吗? Hoiste 发表于 2020-5-8 11:07
弄成列表就行了。
呐个,第四行[]这个的作用是啥来着? 3152332682 发表于 2020-5-8 11:11
呐个,第四行[]这个的作用是啥来着?
把这些东西放进列表里
页:
[1]