es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear una calculadora de división.

Tengo el siguiente código y cuando escribo calculate(2, 0, “/”) me gustaría imprimir “División entre cero” en lugar de solo el resultado, cuando divido entre 0. ¿Alguna sugerencia?

def calculate(num1, num2, operator):
    if operator == "/" or operator == 'divide':
        output = float(num1) / float(num2) if float(num2) else 0
        return output
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para imprimir “División entre cero” en lugar de solo la salida al dividir entre 0, puedes modificar el código de la siguiente manera:

    def calcular(num1, num2, operador):
        if operador == "/" or operador == 'divide':
            if num2 == 0:
                print("División entre cero")
            else:
                resultado = float(num1) / float(num2)
                return resultado
    

    En este código modificado, verificamos si num2 es igual a 0 antes de hacer la división. Si es así, imprimimos “División entre cero” en lugar de devolver el resultado. Si num2 no es 0, realizamos la división y devolvemos el resultado como antes.

    Ten en cuenta que al usar print en lugar de return, significa que la función no tendrá un valor de retorno cuando se divida entre 0. Si necesitas que la función siempre devuelva un valor (por ejemplo, si la llamas desde otra función que espera un valor de retorno), puedes modificar el bloque if-else para que siempre retorne un valor, de la siguiente manera:

    def calcular(num1, num2, operador):
        if operador == "/" or operador == 'divide':
            if num2 == 0:
                print("División entre cero")
                return None  # o cualquier otro valor para indicar que la división falló
            else:
                resultado = float(num1) / float(num2)
                return resultado
    

Comments are closed.