【发布时间】:2020-10-08 09:37:25
【问题描述】:
我正在使用一些任意表达式,例如 6 ++++6 或 6+---+++9++5,并且需要将其解析为最简单的形式(例如 6+6 和 6-9+ 5) 为什么下面的代码会导致无限循环?从调试中我可以看到字符串正在成功更新,但就像没有重新评估条件一样。
while "--" or "+-" or "-+" or "++" in user_input:
user_input = user_input.replace("--", "+")
user_input = user_input.replace("+-", "-")
user_input = user_input.replace("-+", "-")
user_input = user_input.replace("++", "+")
【问题讨论】:
-
while "foo" or "bar" in str:被评估为while ("foo") or ("bar" in str):。由于"foo"是一个真值,它被评估为true并且不评估左侧或条件
标签: python while-loop infinite-loop