Escribe un código en Python que tome una
temperatura en grados Celsius y la convierta a grados Fahrenheit. También debe
tomar una temperatura en grados Fahrenheit y la convierta a grados Celsius.
Solución al Ejercicio: Convertir entre grados Celsius y Fahrenheit
📋 Copiar código
def convertir_temperatura():
"""
Permite al usuario convertir temperaturas entre Celsius y Fahrenheit.
"""
while True:
print("\nOpciones:")
print("1. Celsius a Fahrenheit")
print("2. Fahrenheit a Celsius")
print("3. Salir")
opcion = input("Elige una opción: ")
if opcion == "1":
try:
celsius = float(input("Introduce la temperatura en grados Celsius: "))
fahrenheit = (celsius * 9/5) + 32
print(f"{celsius} grados Celsius son {fahrenheit:.2f} grados Fahrenheit.")
except ValueError:
print("Entrada inválida. Por favor, introduce un número.")
elif opcion == "2":
try:
fahrenheit = float(input("Introduce la temperatura en grados Fahrenheit: "))
celsius = (fahrenheit - 32) * 5/9
print(f"{fahrenheit} grados Fahrenheit son {celsius:.2f} grados Celsius.")
except ValueError:
print("Entrada inválida. Por favor, introduce un número.")
elif opcion == "3":
print("¡Hasta luego!")
break
else:
print("Opción inválida. Por favor, elige una opción válida.")
# Iniciar el conversor de temperatura
convertir_temperatura()
Explicación del Código:
-
def convertir_temperatura():
:
- Define una función llamada
convertir_temperatura
que contiene la lógica para la conversión
de temperaturas.
-
while True:
:
- Se inicia un bucle
while
que
mantiene el programa en funcionamiento hasta que el usuario elige salir.
-
Se muestran las opciones
disponibles para el usuario (convertir de Celsius a Fahrenheit, de
Fahrenheit a Celsius, o salir).
-
Se pide al usuario que elija una
opción mediante la entrada por teclado.
-
Se realizan acciones basadas en la
opción elegida:
- Opción "1" (Celsius a
Fahrenheit):
- Se pide al usuario que introduzca la
temperatura en grados Celsius.
- Se intenta convertir la entrada a un
número de punto flotante (
float
).
- Se aplica la fórmula de conversión:
( F = (C \times \frac{9}{5}) + 32 ).
- Se imprime el resultado, formateado
a dos decimales.
- Se incluye un bloque
try...except ValueError
para manejar el caso en que la
entrada del usuario no sea un número.
- Opción "2" (Fahrenheit a
Celsius):
- Se pide al usuario que introduzca la
temperatura en grados Fahrenheit.
- Se intenta convertir la entrada a un
número de punto flotante (
float
).
- Se aplica la fórmula de conversión:
( C = (F - 32) \times \frac{5}{9} ).
- Se imprime el resultado, formateado
a dos decimales.
- Se incluye un bloque
try...except
ValueError
para manejar el caso en que la entrada del usuario
no sea un número.
- Opción "3" (Salir):
- Se imprime un mensaje de despedida
y se sale del bucle
while
con break
,
terminando el programa.
- Opción inválida:
- Se muestra un mensaje de error si la
entrada del usuario no coincide con ninguna de las opciones válidas.
-
convertir_temperatura()
:
- Se llama a la función principal para
iniciar el conversor de temperatura cuando se ejecuta el script.