我正在用python创建一个计算器程序。它必须从用户那里获得最多5个数字,然后用户输入他们想要使用的计算符号。一切正常,+
-
和*
,但除法/
不工作,它返回以下错误:
CALCULATOR
ENTER NUMBER 1. TYPE SPACE TO ENTER CALCULATION4
ENTER NUMBER 2. TYPE SPACE TO ENTER CALCULATION7
ENTER NUMBER 3. TYPE SPACE TO ENTER CALCULATION
ENTER THE CALCULATION + - / */
THE RESULT IS
Traceback (most recent call last):
File ".\calc.py", line 52, in <module>
print "THE RESULT IS", int(NUMBER1) / int(NUMBER2) / int(NUMBER3) / int(NUMBER4) / int(NUMBER5)
ZeroDivisionError: integer division or modulo by zero
计算器程序:
from goto import goto, label
print( "CALCULATOR" )
NUMBER1 = 0; NUMBER2 = 0; NUMBER3 = 0; NUMBER4 = 0; NUMBER5 = 0;
NUMBER1 = raw_input( "ENTER NUMBER 1. TYPE SPACE TO ENTER CALCULATION" )
if NUMBER1 == " ":
goto .end;
NUMBER2 = raw_input( "ENTER NUMBER 2. TYPE SPACE TO ENTER CALCULATION" )
if NUMBER2 == " ":
NUMBER2 = 0;
goto .calculation;
NUMBER3 = raw_input( "ENTER NUMBER 3. TYPE SPACE TO ENTER CALCULATION" )
if NUMBER3 == " ":
NUMBER3 = 0;
goto .calculation;
NUMBER4 = raw_input( "ENTER NUMBER 4. TYPE SPACE TO ENTER CALCULATION" )
if NUMBER4 == " ":
NUMBER4 = 0;
goto .calculation;
NUMBER5 = raw_input( "ENTER NUMBER 5. TYPE SPACE TO ENTER CALCULATION" )
if NUMBER5 == " ":
NUMBER5 = 0;
goto .calculation;
label .calculation
CALCULATION = raw_input( "ENTER THE CALCULATION + - / *")
if CALCULATION == "+":
print "THE RESULT IS", int(NUMBER1) + int(NUMBER2) + int(NUMBER3) + int(NUMBER4) + int(NUMBER5)
if CALCULATION == "-":
print "THE RESULT IS", int(NUMBER1) - int(NUMBER2) - int(NUMBER3) - int(NUMBER4) - int(NUMBER5)
if CALCULATION == "*":
print "THE RESULT IS", int(NUMBER1) * int(NUMBER2) * int(NUMBER3) * int(NUMBER4) * int(NUMBER5)
if CALCULATION == "/":
print "THE RESULT IS", int(NUMBER1) / int(NUMBER2) / int(NUMBER3) / int(NUMBER4) / int(NUMBER5)
label .end
print "";print "------------------------------------";print "";
print "PROGRAM END."
print "THANK YOU FOR USING THE CALCULATOR."
print "SEE YOU NEXT TIME."
print "BYE!"
为什么只有在分割数字时才会出现错误?如何解决
不能将数字除以0,错误很明显
您的代码不完整,我们无法提供更多帮助。试着给我们一个简短但完整的例子
同意第一个答案,你永远不能被0除,这个错误意味着。但是在另一个注释中,您可以考虑实现适用于int和非int数的Lead分区。尽管这是你个人的偏好,取决于课程要求
楼层划分是
相关问题 更多 >
编程相关推荐