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.

  1. celsius = float(input("Temperatura en Celsius: ")) — leemos la temperatura como decimal, porque puede ser 36.6, no solo enteros.
  2. fahrenheit = celsius * 9 / 5 + 32 — la fórmula es F = C * 9/5 + 32. En Python 9 / 5 da 1.8 aunque ambos sean enteros, porque / siempre produce un float. En C, 9/5 entre enteros daría 1 y la conversión saldría mal: aquí no hace falta escribir 9.0/5.0.
  3. El orden respeta la precedencia normal: primero * y /, luego +. No hacen falta paréntesis.
  4. print(f"{celsius} C = {fahrenheit:.1f} F") — una sola f-string coloca las dos variables; :.1f muestra 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.

Conexiones