zeeshan4801's picture
Update app.py
f18eddb verified
import streamlit as st
def convert_temperature(value, from_unit, to_unit):
"""Convert temperature between Celsius, Fahrenheit, and Kelvin."""
if from_unit == "Celsius":
if to_unit == "Fahrenheit":
return value * 9/5 + 32
elif to_unit == "Kelvin":
return value + 273.15
elif from_unit == "Fahrenheit":
if to_unit == "Celsius":
return (value - 32) * 5/9
elif to_unit == "Kelvin":
return (value - 32) * 5/9 + 273.15
elif from_unit == "Kelvin":
if to_unit == "Celsius":
return value - 273.15
elif to_unit == "Fahrenheit":
return (value - 273.15) * 9/5 + 32
return value
def main():
st.set_page_config(page_title="Temperature Converter", page_icon="🌡", layout="wide")
st.title("🌡 Temperature Converter")
st.sidebar.header("Conversion Settings")
# Input Section
st.sidebar.subheader("Temperature Input")
value = st.sidebar.number_input("Enter temperature value:", value=0.0, step=0.1, format="%.1f")
from_unit = st.sidebar.selectbox("From Unit:", ["Celsius", "Fahrenheit", "Kelvin"], index=0)
to_unit = st.sidebar.selectbox("To Unit:", ["Celsius", "Fahrenheit", "Kelvin"], index=1)
# Columns for layout
col1, col2 = st.columns(2)
with col1:
st.subheader("Input Details")
st.write(f"**Temperature Value:** {value:.2f} {from_unit}")
with col2:
st.subheader("Conversion Result")
if st.sidebar.button("Convert"):
if from_unit == to_unit:
result = value
st.write(f"The temperature remains the same: {result:.2f} {to_unit}")
else:
result = convert_temperature(value, from_unit, to_unit)
st.write(f"Converted Temperature: {result:.2f} {to_unit}")
else:
st.write("Click the Convert button to see the result.")
st.sidebar.markdown("---")
st.sidebar.info(
"This application allows you to convert temperatures between Celsius, Fahrenheit, and Kelvin units with ease!"
)
if __name__ == "__main__":
main()