You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python多not与or组合逻辑错误求助(剪刀石头布程序)

解决剪刀石头布输入验证的逻辑错误

你原来的代码逻辑问题出在运算符优先级和逻辑组合上:not的优先级比or高,所以你的条件实际等价于 (not b=="schere") or b=="stein" or b=="papier"——只要输入是stein或papier,后面的or条件就会成立,导致整个表达式为真,错误触发提示。

下面是两种正确的写法:

写法一:修正逻辑括号

用括号把所有有效输入的判断括起来,再整体取反,确保只有当输入不在有效列表中时才触发错误:

elif not (b == "schere" or b == "stein" or b == "papier"):
    print("Zu dumm zum tippen!?")

写法二:更简洁的Python风格

用in运算符直接判断输入是否在有效词汇集合中,逻辑更清晰,代码更简洁:

elif b not in {"schere", "stein", "papier"}:
    print("Zu dumm zum tippen!?")

内容的提问来源于stack exchange,提问作者Thanach

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 13:34:50