发生 ZeroDivisionError 时如何防止打印出消息?

How to prevent printing out a message when ZeroDivisionError occurs?

如何防止 Python 在另一个函数中处理错误后出现 ZeroDivisionError 时在另一个函数中打印出除法方程?

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 except 块来处理 0 除法错误。但是在 calculate 函数中,elif choice == 4: 仍然会打印出等式。

如果你进入 divide 方法中的 except 块,它将 return 一个 None 值(默认 return 值) , 你可以在 calculate 方法中使用它来确定是否显示方程和结果

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