Matriz de Namedtuple y menú en Python

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.



Grupo

Matrices, listas y cadenas en Python

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

Más ejercicios de Programacion Python de Matrices, listas y cadenas 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.

  • Base de datos de la biblioteca en Python

    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 Python

    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 Python

    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 Python

    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 Python

    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 Python

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