Hasta ahora aprendiste:
- Cómo ejecutar Python en el REPL y mediante scripts
- Los números (enteros y flotantes) y los operadores principales
- Asignar valores a variables y escoger buenos nombres
- Trabajar con cadenas y usar
print/input
Con solo estas piezas ya puedes crear miniprogramas útiles. Cuanto más practiques, más sólida será tu comprensión.
Desafío 1: Conversor de temperatura #
Crea un programa que convierta de Fahrenheit a Celsius usando C = (F - 32) * 5 / 9.
Introduce los grados Fahrenheit: 77
25.0 °C
inputdevuelve una cadena; conviértela antes de calcular. Usaround()si quieres limitar los decimales.
Ejemplo que muestra un decimal.
fahrenheit_text = input("Introduce los grados Fahrenheit: ")
fahrenheit = float(fahrenheit_text)
celsius = (fahrenheit - 32) * 5 / 9
print(f"{round(celsius, 1)} °C")Desafío 2: Reloj despertador #
Pide la hora actual (formato 24 horas) y cuántos minutos faltan para que suene la alarma. Después, muestra la hora de la alarma.
Hora actual (0-23): 21
Minuto actual (0-59): 30
¿En cuántos minutos sonará la alarma? 90
La alarma sonará a las 23:00
Para mantenerte dentro de las 24 horas, calcula el total de minutos y usa el resto de dividir entre
24 * 60.
Esta solución usa el operador módulo para mantener los minutos en un solo día.
hour = int(input("Hora actual (0-23): "))
minute = int(input("Minuto actual (0-59): "))
after = int(input("¿En cuántos minutos sonará la alarma? "))
total = hour * 60 + minute + after
total %= 24 * 60 # vuelta cada 24 horas
alarm_hour = total // 60
alarm_minute = total % 60
print(f"La alarma sonará a las {alarm_hour:02d}:{alarm_minute:02d}")
Desafío 3: Control de gastos sencillo (opcional) #
Solicita los gastos de cada día de la semana y muestra el total y el promedio. Empieza solo con variables; si puedes, refactoriza a listas o bucles.
Gasto del lunes: 1200
Gasto del martes: 980
...
Total: xxxx yenes
Promedio: xxxx yenes
Cuando notes que repites el mismo patrón, piensa en cómo los bucles del próximo capítulo pueden simplificar el código.
Versión mínima usando únicamente variables.
mon = int(input("Gasto del lunes: "))
tue = int(input("Gasto del martes: "))
wed = int(input("Gasto del miércoles: "))
thu = int(input("Gasto del jueves: "))
fri = int(input("Gasto del viernes: "))
sat = int(input("Gasto del sábado: "))
sun = int(input("Gasto del domingo: "))
total = mon + tue + wed + thu + fri + sat + sun
average = total / 7
print(f"Total: {total} yenes")
print(f"Promedio: {average:.1f} yenes")
Con una lista será más fácil migrarlo a bucles más adelante.
Tropiezos habituales #
| Problema | Causa y solución |
|---|---|
NameError: name 'value' is not defined | Estás usando una variable antes de definirla o tiene un error ortográfico. Revisa el orden y la escritura. |
ValueError: invalid literal for int() | La cadena que conviertes con int() contiene caracteres no numéricos. Valida la entrada o maneja la excepción (lo verás más adelante). |
TypeError al concatenar cadenas | Intentaste combinar números y cadenas con +. Usa f-strings o convierte los números con str(). |
Con esto completas “01 Sintaxis básica de Python”. El siguiente capítulo trata sobre condicionales y bucles para crear programas más dinámicos. Tómate un descanso y repasa escribiendo código si algo quedó dudoso.