除数时出现Python计算器错误

2024-06-25 06:29:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用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!"

为什么只有在分割数字时才会出现错误?如何解决


Tags: thetonumberiftypespaceintprint
2条回答

不能将数字除以0,错误很明显

您的代码不完整,我们无法提供更多帮助。试着给我们一个简短但完整的例子

同意第一个答案,你永远不能被0除,这个错误意味着。但是在另一个注释中,您可以考虑实现适用于int和非int数的Lead分区。尽管这是你个人的偏好,取决于课程要求

楼层划分是

 //

相关问题 更多 >