Parámetros de la función principal y valor de retorno de la calculadora en Python

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.



Grupo

Dominando las funciones en Python

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 Ejercicio 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 ejercicios Python

Más ejercicios de Programacion Python de Dominando las funciones en Python

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