好的,所以我对编码完全陌生,我正在制作一个简单的计算器,我遇到了一个名为 ZeroDivisionError 的错误,我非常努力地将其作为异常处理,但我做不到。如果有人能帮我解决这个问题,那就太好了。谢谢! 代码如下:
def multiply(first_number, second_number):
print("The Number = ", int(first_number) * int(second_number))
def divide(first_number, second_number):
print("The Number = ", int(first_number) / int(second_number))
def add(first_number, second_number):
print("The Number = ", int(first_number) + int(second_number))
def sub(first_number, second_number):
print("The Number = ", int(first_number) - int(second_number))
def start():
first_number = input("Insert first number: ")
second_number = input("Insert second number: ")
type = input("You wanna (+)Add, (-)Subtract, (/)Divide or (x)Multiply? ")
if type == "+":
add(first_number, second_number)
elif type == "-":
sub(first_number, second_number)
elif type == "/":
divide(first_number, second_number)
elif type == "x":
multiply(first_number, second_number)
else:
print("There is no such thing as", type, "!")
start()
confirm = input("Do you want to exit the program? (Y)es/(N)o? ")
if confirm == "N":
start()
elif confirm == "Y":
print("You quit the program.")
else:
print("There is no such thing as", confirm, "!")
start()
答案 0 :(得分:0)
把divide
函数改成这个
def divide(first_number, second_number):
try:
print("The Number = ", int(first_number) / int(second_number))
except
print("You cant divide a number by 0")
答案 1 :(得分:0)
试试这个:
def dev(x, y ):
try:
return x/y
except ZeroDivisionError:
return x
print(dev(1, 0.1))
答案 2 :(得分:0)
就像您已经遇到过的一样,您不能除以零。如果要处理 ZeroDivisionError 异常,则需要使用 try
except
构造。例如:
try:
divide(first_number, second_number)
except ZeroDivisionError:
print("Oops, you can't divide by 0")