Matriz de Namedtuple y menú - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python que amplía el ejercicio anterior (matriz de NamedTuples), de modo que muestre un menú donde el usuario pueda elegir: agregar datos para un punto, mostrar todos los puntos ingresados, calcular (y mostrar) los valores promedio de x e y, o salir del programa. Este ejercicio es perfecto para practicar el uso de NamedTuple y matrices en Python, así como para mejorar tus habilidades en la manipulación de datos y la interacción con el usuario. Al implementar una interfaz basada en menús, obtendrás experiencia práctica en el manejo de la entrada y salida de datos en Python. Este ejercicio no solo refuerza tu comprensión de NamedTuple y matrices, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar grandes conjuntos de datos. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con una matriz de NamedTuple e implementar una interfaz basada en menús, aprenderás a almacenar y recuperar datos 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 escalabilidad 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

Matrices, listas y cadenas

 Ejercicio

Matriz De Namedtuple Y Menú

 Objectivo

Desarrollar un programa Python que expanda el ejercicio anterior (matriz de NamedTuples), de modo que muestre un menú en el que el usuario pueda elegir:

- Agregar datos para un punto
- Mostrar todos los puntos ingresados
- Calcular (y mostrar) los valores promedio para x e y
- Salir del programa

 Ejemplo de ejercicio de Python

 Copiar código Python
from collections import namedtuple

# Define the NamedTuple for a 2D point with color data
Point = namedtuple('Point', ['x', 'y', 'r', 'g', 'b'])

# Create an array to store up to 1000 points
points = []

# Display the menu
while True:
    print("\nMenu:")
    print("1. Add data for one point")
    print("2. Display all entered points")
    print("3. Calculate and display the average values for x and y")
    print("4. Exit")

    # Ask the user to choose an option
    option = input("Choose an option (1, 2, 3, 4): ")

    if option == "1":
        # Add data for one point
        print("Enter the data for a new point:")
        x = int(input("Enter x coordinate (short): "))
        y = int(input("Enter y coordinate (short): "))
        r = int(input("Enter red color value (byte): "))
        g = int(input("Enter green color value (byte): "))
        b = int(input("Enter blue color value (byte): "))

        # Store the new point in the array
        points.append(Point(x, y, r, g, b))
        print("Point added successfully.")

    elif option == "2":
        # Display all entered points
        if points:
            print("\nAll entered points:")
            for i, point in enumerate(points, 1):
                print(f"Point {i}: x: {point.x}, y: {point.y}, r: {point.r}, g: {point.g}, b: {point.b}")
        else:
            print("No points entered yet.")

    elif option == "3":
        # Calculate and display the average values for x and y
        if points:
            avg_x = sum(point.x for point in points) / len(points)
            avg_y = sum(point.y for point in points) / len(points)
            print(f"\nAverage x: {avg_x:.2f}")
            print(f"Average y: {avg_y:.2f}")
        else:
            print("No points entered yet to calculate averages.")

    elif option == "4":
        # Exit the program
        print("Exiting the program.")
        break

    else:
        # Invalid option
        print("Invalid option. Please choose a valid number (1, 2, 3, 4).")

 Output

Menu:
1. Add data for one point
2. Display all entered points
3. Calculate and display the average values for x and y
4. Exit
Choose an option (1, 2, 3, 4): 1
Enter the data for a new point:
Enter x coordinate (short): 5
Enter y coordinate (short): 10
Enter red color value (byte): 255
Enter green color value (byte): 100
Enter blue color value (byte): 50
Point added successfully.

Menu:
1. Add data for one point
2. Display all entered points
3. Calculate and display the average values for x and y
4. Exit
Choose an option (1, 2, 3, 4): 1
Enter the data for a new point:
Enter x coordinate (short): 20
Enter y coordinate (short): 25
Enter red color value (byte): 0
Enter green color value (byte): 255
Enter blue color value (byte): 200
Point added successfully.

Menu:
1. Add data for one point
2. Display all entered points
3. Calculate and display the average values for x and y
4. Exit
Choose an option (1, 2, 3, 4): 2

All entered points:
Point 1: x: 5, y: 10, r: 255, g: 100, b: 50
Point 2: x: 20, y: 25, r: 0, g: 255, b: 200

Menu:
1. Add data for one point
2. Display all entered points
3. Calculate and display the average values for x and y
4. Exit
Choos

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Matrices, listas y cadenas

¡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.

  •  Base de datos de la biblioteca

    En este ejercicio, desarrollarás un programa en Python para crear una pequeña base de datos para almacenar datos de libros. Para cada libro, mantendrás la siguiente i...

  •  Triángulo mejorado V2

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario su nombre y muestra un triángulo con él, comenzando con 1 letra y creciendo hasta tener...

  •  Rectángulo mejorado V3

    En este ejercicio, desarrollarás un programa en Python que solicita al usuario su nombre y un tamaño, y muestra un rectángulo hueco con él. Este ejercicio es p...

  •  Triángulo simétrico

    En este ejercicio, desarrollarás un programa en Python que muestra un triángulo centrado a partir de una cadena ingresada por el usuario. Este ejercicio es per...

  •  Base de datos urbana

    En este ejercicio, desarrollarás un programa en Python para crear una base de datos para almacenar información sobre áreas urbanas. En el primer enfoque, almacenarás ...

  •  Mostrar banner

    En este ejercicio, desarrollarás un programa en Python para imitar la utilidad básica "banner" de Unix SysV, capaz de mostrar textos grandes. Este ejercicio es...