【发布时间】:2014-02-28 03:55:36
【问题描述】:
我目前正在使用这个 Python 代码:
valid_chars = "0123456789-+/* \n";
while True:
x = "x="
y = input(" >> ")
x += y
if False in [c in valid_chars for c in y]:
print("WARNING: Invalid Equation");
continue;
if(y == "end"):
break
exec(x)
print(x)
当用户执行以下操作时它会崩溃:9/0。错误:
ZeroDivisionError: division by zero
有哪些方法可以防止用户除以零?
【问题讨论】:
-
所以这是 Python 3,其中
input()只返回用户输入的字符串,而您试图使用exec()来评估用户输入的表达式?您的消息应该区分情况,否则您根本不知道正在执行哪个print语句。 -
我解决了这个问题,但感谢您告诉我
-
答案现在没用了,整个帖子也没用了,以后没有人能从中受益,因为你已经把问题排除在外了。因此,将来看到此问题的任何人都无法知道问题是否与他们的问题相同。请将问题恢复到您的问题更明显的早期状态。
标签: python calculator