Parámetros de la función principal y valor de retorno de la calculadora - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python que realiza operaciones aritméticas como suma, resta, multiplicación o división analizando los argumentos de la línea de comandos. Este ejercicio es perfecto para practicar el manejo de entradas desde la línea de comandos, operaciones aritméticas y manejo de errores en Python. Al implementar este programa, obtendrás experiencia práctica en el manejo de entradas desde la línea de comandos, la realización de operaciones aritméticas y el uso de manejo de errores en Python. Este ejercicio no solo refuerza tu comprensión del manejo de entradas desde la línea de comandos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar las interacciones con el usuario. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con entradas desde la línea de comandos, operaciones aritméticas y manejo de errores, aprenderás a estructurar tu código de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la legibilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

Dominando las funciones

 Ejercicio

Parámetros De La Función Principal Y Valor De Retorno De La Calculadora

 Objectivo

Desarrollar un programa Python que realice operaciones aritméticas como suma, resta, multiplicación o división mediante el análisis de argumentos de la línea de comandos. Por ejemplo, al ejecutar el programa con calc 5 + 379 se debería calcular la suma. La entrada debe constar de dos números y un operador, siendo los operadores permitidos +, -, * o /.

El programa debería devolver los siguientes códigos de error:
1 si el número de argumentos no es exactamente 3
2 si el segundo argumento no es un operador válido
3 si el primer o tercer argumento no es un número válido
0 si la operación se realizó correctamente

 Ejemplo de ejercicio de Python

 Copiar código Python
import sys  # Importing the sys module to access command line arguments

# Function to check if a string can be converted to a valid number
def is_valid_number(value):
    try:
        float(value)  # Try to convert the string to a float
        return True  # If successful, return True
    except ValueError:
        return False  # If conversion fails, return False

# Checking if the correct number of arguments are passed
if len(sys.argv) != 4:
    print("Error: Invalid number of arguments.")  # Print error message for incorrect number of arguments
    sys.exit(1)  # Exit with error code 1

# Extracting the numbers and operator from the command line arguments
num1 = sys.argv[1]  # First argument (number1 as string)
operator = sys.argv[2]  # Second argument (operator)
num2 = sys.argv[3]  # Third argument (number2 as string)

# Check if the operator is valid
if operator not in ['+', '-', '*', '/']:
    print("Error: Invalid operator.")  # Print error message for invalid operator
    sys.exit(2)  # Exit with error code 2

# Check if both arguments are valid numbers
if not is_valid_number(num1) or not is_valid_number(num2):
    print("Error: Invalid number.")  # Print error message for invalid number
    sys.exit(3)  # Exit with error code 3

# Convert the numbers to floats for calculation
num1 = float(num1)
num2 = float(num2)

# Performing the operation based on the operator
if operator == '+':
    result = num1 + num2  # Perform addition
elif operator == '-':
    result = num1 - num2  # Perform subtraction
elif operator == '*':
    result = num1 * num2  # Perform multiplication
elif operator == '/':
    if num2 == 0:
        print("Error: Division by zero.")  # Handle division by zero
        sys.exit(3)  # Exit with error code 3
    result = num1 / num2  # Perform division

# Print the result of the operation
print(f"The result of {num1} {operator} {num2} is: {result}")
sys.exit(0)  # Exit with success code 0

 Output

Case 1:
python calc.py 5 + 379
The result of 5.0 + 379.0 is: 384.0

Case 2:
python calc.py 10 / 0
Error: Division by zero.

Case 3:
python calc.py 25 & 4
Error: Invalid operator.

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Dominando las funciones

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Función para encontrar los valores mínimo y máximo de una matriz

    En este ejercicio, desarrollarás un programa en Python que define una función para encontrar los números más pequeños y más grandes en una lista. La función debe acep...

  •  Función recursiva para invertir una secuencia

    En este ejercicio, desarrollarás un programa en Python que utiliza la recursión para invertir una secuencia de caracteres. Este ejercicio es perfecto para prac...

  •  Función para mostrar un rectángulo

    En este ejercicio, desarrollarás un programa en Python que define una función para imprimir un rectángulo lleno en la pantalla, donde las dimensiones (ancho y alto) s...

  •  Función Palíndromo Iterativa

    En este ejercicio, desarrollarás un programa en Python con una función iterativa para verificar si una cadena es un palíndromo (simbólica). Este ejercicio es p...

  •  Función Palíndromo Recursiva

    En este ejercicio, desarrollarás un programa en Python con una función recursiva para determinar si una cadena es simétrica (un palíndromo). Este ejercicio es ...

  •  Función FindMinMax

    En este ejercicio, desarrollarás un programa en Python con una función llamada "FindRange", donde se solicita al usuario que ingrese un valor mínimo (un número) y un ...