import streamlit as st # Temperature conversion functions def celsius_to_fahrenheit(celsius): return (celsius * 9/5) + 32 def celsius_to_kelvin(celsius): return celsius + 273.15 def fahrenheit_to_celsius(fahrenheit): return (fahrenheit - 32) * 5/9 def fahrenheit_to_kelvin(fahrenheit): return fahrenheit_to_celsius(fahrenheit) + 273.15 def kelvin_to_celsius(kelvin): return kelvin - 273.15 def kelvin_to_fahrenheit(kelvin): return celsius_to_fahrenheit(kelvin_to_celsius(kelvin)) # Streamlit app st.title("Temperature Converter 🌡️") st.subheader("Convert temperatures between Celsius, Fahrenheit, and Kelvin") # Input for temperature and unit temperature = st.number_input("Enter the temperature:", value=0.0) unit = st.selectbox("Select the unit of the input temperature:", ["Celsius", "Fahrenheit", "Kelvin"]) # Conversion logic if st.button("Convert"): if unit == "Celsius": fahrenheit = celsius_to_fahrenheit(temperature) kelvin = celsius_to_kelvin(temperature) st.write(f"**Fahrenheit:** {fahrenheit:.2f}°F") st.write(f"**Kelvin:** {kelvin:.2f} K") elif unit == "Fahrenheit": celsius = fahrenheit_to_celsius(temperature) kelvin = fahrenheit_to_kelvin(temperature) st.write(f"**Celsius:** {celsius:.2f}°C") st.write(f"**Kelvin:** {kelvin:.2f} K") elif unit == "Kelvin": celsius = kelvin_to_celsius(temperature) fahrenheit = kelvin_to_fahrenheit(temperature) st.write(f"**Celsius:** {celsius:.2f}°C") st.write(f"**Fahrenheit:** {fahrenheit:.2f}°F") st.write("Note: Ensure the input values are within valid ranges for temperature conversions.")