MalikShehram's picture
Update app.py
fe7ff6b verified
import streamlit as st
# Conversion functions
def celsius_to_fahrenheit(celsius):
return (celsius * 9/5) + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
def celsius_to_kelvin(celsius):
return celsius + 273.15
def kelvin_to_celsius(kelvin):
return kelvin - 273.15
def fahrenheit_to_kelvin(fahrenheit):
return celsius_to_kelvin(fahrenheit_to_celsius(fahrenheit))
def kelvin_to_fahrenheit(kelvin):
return celsius_to_fahrenheit(kelvin_to_celsius(kelvin))
# Sidebar for navigation
st.sidebar.title("Navigation")
st.sidebar.info("Choose the conversion type and enter the temperature value in the input box below.")
# Main title
st.title("🌡️ Temperature Conversion App")
# Conversion options in sidebar
conversion_type = st.sidebar.radio(
"Choose Conversion Type:",
(
"Celsius to Fahrenheit",
"Fahrenheit to Celsius",
"Celsius to Kelvin",
"Kelvin to Celsius",
"Fahrenheit to Kelvin",
"Kelvin to Fahrenheit"
)
)
# Layout: Use two columns for input and output
col1, col2 = st.columns(2)
with col1:
st.header("Input")
if conversion_type == "Celsius to Fahrenheit":
celsius = st.number_input("Enter temperature in Celsius:", min_value=-273.15, step=0.1)
if st.button("Convert"):
fahrenheit = celsius_to_fahrenheit(celsius)
with col2:
st.header("Output")
st.success(f"{celsius}°C = {fahrenheit:.2f}°F")
elif conversion_type == "Fahrenheit to Celsius":
fahrenheit = st.number_input("Enter temperature in Fahrenheit:", min_value=-459.67, step=0.1)
if st.button("Convert"):
celsius = fahrenheit_to_celsius(fahrenheit)
with col2:
st.header("Output")
st.success(f"{fahrenheit}°F = {celsius:.2f}°C")
elif conversion_type == "Celsius to Kelvin":
celsius = st.number_input("Enter temperature in Celsius:", min_value=-273.15, step=0.1)
if st.button("Convert"):
kelvin = celsius_to_kelvin(celsius)
with col2:
st.header("Output")
st.success(f"{celsius}°C = {kelvin:.2f} K")
elif conversion_type == "Kelvin to Celsius":
kelvin = st.number_input("Enter temperature in Kelvin:", min_value=0.0, step=0.1)
if st.button("Convert"):
celsius = kelvin_to_celsius(kelvin)
with col2:
st.header("Output")
st.success(f"{kelvin} K = {celsius:.2f}°C")
elif conversion_type == "Fahrenheit to Kelvin":
fahrenheit = st.number_input("Enter temperature in Fahrenheit:", min_value=-459.67, step=0.1)
if st.button("Convert"):
kelvin = fahrenheit_to_kelvin(fahrenheit)
with col2:
st.header("Output")
st.success(f"{fahrenheit}°F = {kelvin:.2f} K")
elif conversion_type == "Kelvin to Fahrenheit":
kelvin = st.number_input("Enter temperature in Kelvin:", min_value=0.0, step=0.1)
if st.button("Convert"):
fahrenheit = kelvin_to_fahrenheit(kelvin)
with col2:
st.header("Output")
st.success(f"{kelvin} K = {fahrenheit:.2f}°F")
# Footer
st.sidebar.markdown("----")
st.sidebar.write("Developed by **Malik Shehram Khan**")
st.sidebar.markdown("🌐 Powered by [Streamlit](https://streamlit.io)")