Ejercicio 04 — Pide temperatura en Celsius y convierte a Fahrenheit
Dificultad: verde · Módulo 01 (Variables, tipos y entrada/salida)
Enunciado
Pide temperatura en Celsius y convierte a Fahrenheit
Cómo se resuelve
Convertir grados Celsius a Fahrenheit es aplicar una fórmula, pero esconde una diferencia importante entre Python y C al dividir.
celsius = float(input("Temperatura en Celsius: "))— leemos la temperatura como decimal, porque puede ser 36.6, no solo enteros.fahrenheit = celsius * 9 / 5 + 32— la fórmula es F = C * 9/5 + 32. En Python9 / 5da1.8aunque ambos sean enteros, porque/siempre produce unfloat. En C,9/5entre enteros daría1y la conversión saldría mal: aquí no hace falta escribir9.0/5.0.- El orden respeta la precedencia normal: primero
*y/, luego+. No hacen falta paréntesis. print(f"{celsius} C = {fahrenheit:.1f} F")— una sola f-string coloca las dos variables;:.1fmuestra los Fahrenheit con un decimal.
Trampa habitual: venir de C y “proteger” la división escribiendo enteros, o creer que 9/5 se trunca. En Python no pasa; el que trunca es //.
Para practicar — cópialo y complétalo
Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.
# Curso de Python — Modulo 01: Variables, tipos y E/S
# Ejercicio 04 — PRACTICA (rellena los TODO)
# Enunciado: Pide temperatura en Celsius y convierte a Fahrenheit
# Dificultad: verde
# Ejecutar: python3 ej04_practica.py
# TODO: pide la temperatura en Celsius con input() y convierte a float
celsius = ...
# TODO: aplica la formula F = C * 9/5 + 32
# Pista: en Python 9/5 ya es 1.8, no hace falta cast como en C
fahrenheit = ...
# TODO: imprime "<celsius> C = <fahrenheit> F" con 1 decimal para fahrenheit
...Solución — cópiala y ejecútala
# Curso de Python — Modulo 01: Variables, tipos y E/S
# Ejercicio 04 — MODELO (resuelto)
# Enunciado: Pide temperatura en Celsius y convierte a Fahrenheit
# Dificultad: verde
# Ejecutar: python3 ej04_modelo.py
celsius = float(input("Temperatura en Celsius: "))
# Formula: F = C * 9/5 + 32
# En Python 9/5 es 1.8 (float), no 1 como en C con enteros
fahrenheit = celsius * 9 / 5 + 32
print(f"{celsius} C = {fahrenheit:.1f} F")Cómo usarlo
Pega el código en un fichero y ejecútalo con tu toolchain habitual (o el botón de Ejecutar de tu editor). Antes de mirar la solución, intenta completar tú el esqueleto: es la mejor forma de aprender.