在Python中将数字除以0

问题描述 投票:0回答:1

我正在学习用Python编程,指令是创建一个计算器,在其中输入一个数字,然后请求输入一个运算符,然后是另一个数字,然后是另一个运算符,第三个数字是必须受到影响的数字根据前两个数字的结果。

这仅使用 if 和 else 语句。

我已经有了所有的代码,但还有另一条指令我无法解决,它是关于如果你尝试将一个数字除以 0,应该打印一条特定的消息,说明这是不可能的。问题是,当我运行代码时,它不会停止或显示我认为正确的打印内容。

我需要知道的是如何添加无法除以 0 的特定消息。

primerNumero = int(input("Bienvenido usuario, por favor ingresa el primer número a calcular: "))
primerOperador = input("Por favor ingresa el orimer operador que deseas aplicar, en este caso puede ser \"+\" para suma \"-\" para resta \"*\" para multiplicar o \"/\" para dividir: ")
segundoNumero = int(input("Por favor ingresa el segundo número a calcular: "))
segundoOperador = input("Por favor ingresa el segundo operador que deseas aplicar, en este caso puede ser \"+\" para suma \"-\" para resta \"*\" para multiplicar, \"/\" para dividir, \"**\" para aplicar un exponente o \"%\" para aplicar un exponente: ")
tercerNumero = int(input("Por favor ingresa el tercer y ultimo número a calcular: "))

if primerOperador == "+":
    operacion = primerNumero + segundoNumero
else:
    if primerOperador == "-":
        operacion = primerNumero - segundoNumero
    else:
        if primerOperador == "*":
            operacion = primerNumero * segundoNumero
        else:
            if primerOperador == "/":
                operacion = primerNumero / segundoNumero
            else:
                if primerOperador == "**":
                    operacion = primerNumero ** segundoNumero
                else:
                    if primerOperador == "%":
                        operacion = primerNumero % segundoNumero

if segundoOperador == "+":
    operacion2 = operacion + tercerNumero
else:
    if segundoOperador == "-":
        operacion2 = operacion - tercerNumero
    else:
        if segundoOperador == "*":
            operacion2 = operacion * tercerNumero
        else:
            if segundoOperador == "/":
                operacion2 = operacion / tercerNumero
            else:
                if segundoOperador == "**":
                    operacion2 = operacion ** tercerNumero
                else:
                    if segundoOperador == "%":
                        operacion2 = operacion % tercerNumero

print("El resultado final de la operación es \"{}\"".format(operacion2))
python if-statement calculator
1个回答
0
投票

您可以使用 try/ except 块来捕获除数为 0 的情况并返回错误消息。例如:

try:
    operacion = primerNumero / segundoNumero
except ZeroDivisionError:
    print("You cannot divide by 0")

或者,您可以在尝试计算之前使用 if 语句检查数字:

if primerOperador == "/":
    if segundoNumero != 0:
        operacion = primerNumero / segundoNumero
    else:
        print("You cannot divide by 0")

或在一个声明中:

if primerOperador == "/" and segundoNumero == 0:
    print("You cannot divide by 0")

注意:您可能希望考虑使用 if/elif 语句而不是嵌套的 if 语句。

© www.soinside.com 2019 - 2024. All rights reserved.