发生错误时如何防止打印消息?

2024-09-29 23:23:15 发布

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

ZeroDivisionError发生时,我如何防止Python在另一个函数中打印除法方程,即使在处理了另一个函数中的错误之后也是如此

def divide(x, y):

    try:
        return x / y
    except ZeroDivisionError:
        print("\nMath ERROR - Division by 0")


def calculate(num_1, num_2):

    choice = select_choice()

    if choice == 1:
        print("\n", num_1, "+", num_2, "=", add(num_1, num_2))
    elif choice == 2:
        print("\n", num_1, "-", num_2, "=", subtract(num_1, num_2))
    elif choice == 3:
        print("\n", num_1, "*", num_2, "=", multiply(num_1, num_2))
    elif choice == 4:
        print("\n", num_1, "/", num_2, "=", divide(num_1, num_2))
    elif choice == 5:
        print("\n", num_1, "^", num_2, "=", exponentiate(num_1, num_2))

这是我当前的代码,在divide函数中,我放置了一个try{}块来处理0除法错误。但是在calculate函数中,elif choice == 4:仍然会打印出等式


Tags: 函数returndef错误num方程printcalculate
1条回答
网友
1楼 · 发布于 2024-09-29 23:23:15

如果在divide方法中进入except块,它将返回一个None值(默认返回值),您可以在calculate方法中使用该值来确定是否显示等式和结果

elif choice == 4:
    result = divide(num_1, num_2)
    if result:
        print("\n", num_1, "/", num_2, "=", result)

相关问题 更多 >

    热门问题