Crea tu propio programa en Python
Ha llegado el momento de demostrar todo lo que has aprendido en la unidad de Fundamentos de la Programación. En este proyecto vas a diseñar y desarrollar un programa original en Python, creado por ti, en el que pongas en práctica la mayoría de los conceptos trabajados en clase.
🎯 Objetivo del proyecto
Desarrollar un programa en Python que resuelva una idea propia (juego, utilidad, simulación, gestor sencillo, etc.) aplicando de forma correcta y razonada los fundamentos de la programación.
🛠️ Requisitos mínimos
Tu programa debe incluir, al menos:
- Uso de variables y tipos de datos básicos.
- Entrada y salida de datos con el usuario.
- Condicionales (
if,else,elif). - Bucles (
fory/owhile). - Uso de alguna estructura de datos (lista, diccionario, tupla o conjunto).
- Funciones definidas por ti.
- Comentarios que expliquen el funcionamiento del código.
📦 Entrega
- Enlace al programa en OnlineGDB.
- Breve explicación del programa:
- Qué hace.
- Qué problema resuelve o qué idea desarrolla.
- Qué elementos de Python has utilizado.
💡 Recuerda:
No se trata de hacer el programa más largo, sino el mejor pensado. Se valora la originalidad, la creatividad y que el código sea claro, ordenado y comprensible. Aquí no programas para aprobar: programas para crear 💻🚀.
🧪 Ejemplo de proyecto: Gestor de tareas sencillo
El programa permite:
- Añadir tareas.
- Ver la lista de tareas.
- Marcar tareas como completadas.
- Salir del programa.
🧩 Características que utiliza
- Variables y tipos de datos.
- Entrada y salida de datos.
- Condicionales.
- Bucle
while. - Lista como estructura de datos.
- Funciones.
- Comentarios.
# -----------------------------
# Gestor de tareas en Python
# -----------------------------
# Lista para almacenar las tareas
tareas = []
# Función para mostrar el menú
def mostrar_menu():
print("\n--- MENÚ DE TAREAS ---")
print("1. Añadir tarea")
print("2. Ver tareas")
print("3. Marcar tarea como completada")
print("4. Salir")
# Función para añadir una tarea
def añadir_tarea():
tarea = input("Introduce la nueva tarea: ")
tareas.append({"nombre": tarea, "completada": False})
print("Tarea añadida correctamente.")
# Función para mostrar las tareas
def ver_tareas():
if not tareas:
print("No hay tareas pendientes.")
else:
for i, tarea in enumerate(tareas):
estado = "✔" if tarea["completada"] else "✘"
print(i + 1, "-", tarea["nombre"], "-", estado)
# Función para marcar una tarea como completada
def completar_tarea():
ver_tareas()
numero = int(input("Número de tarea a completar: ")) - 1
if 0 <= numero < len(tareas):
tareas[numero]["completada"] = True
print("Tarea marcada como completada.")
else:
print("Número de tarea no válido.")
# -----------------------------
# Programa principal
# -----------------------------
while True:
mostrar_menu()
opcion = input("Elige una opción: ")
if opcion == "1":
añadir_tarea()
elif opcion == "2":
ver_tareas()
elif opcion == "3":
completar_tarea()
elif opcion == "4":
print("Saliendo del programa. ¡Hasta pronto!")
break
else:
print("Opción no válida. Inténtalo de nuevo.")
🧪 Ejemplo de proyecto: Juego de adivinar un número
El programa:
- Genera un número aleatorio.
- Pide al usuario que lo adivine.
- Da pistas (mayor o menor).
- Cuenta los intentos.
- Termina cuando el usuario acierta.
🧩 Características que utiliza
- Variables y tipos de datos.
- Entrada y salida de datos.
- Condicionales.
- Bucle
while. - Funciones.
- Uso de librerías (
random). - Comentarios.
# -----------------------------
# Juego: Adivina el número
# -----------------------------
import random # Importamos la librería para números aleatorios
# Función que genera un número aleatorio
def generar_numero():
return random.randint(1, 10)
# Función que muestra un mensaje de bienvenida
def bienvenida():
print("Bienvenido al juego de adivinar el número")
print("Estoy pensando un número entre 1 y 10")
# Variables iniciales
numero_secreto = generar_numero()
intentos = 0
# Programa principal
bienvenida()
while True:
intento = int(input("Introduce tu número: "))
intentos += 1
if intento == numero_secreto:
print("¡Correcto! Has acertado en", intentos, "intentos.")
break
elif intento < numero_secreto:
print("El número es mayor.")
else:
print("El número es menor.")