Kamran Zulfiqar
Update app.py
a456aff verified
import streamlit as st
# Title and description
st.set_page_config(page_title="Temperature Converter", layout="centered")
st.title("🌡️ Temperature Converter")
# Conversion function
def convert_temperature(value, from_unit, to_unit):
if from_unit == to_unit:
return value
# Convert to Celsius first
if from_unit == "Celsius":
celsius = value
elif from_unit == "Fahrenheit":
celsius = (value - 32) * 5 / 9
elif from_unit == "Kelvin":
celsius = value - 273.15
# Convert from Celsius to target
if to_unit == "Celsius":
return celsius
elif to_unit == "Fahrenheit":
return (celsius * 9 / 5) + 32
elif to_unit == "Kelvin":
return celsius + 273.15
# Input section
col1, col2 = st.columns(2)
with col1:
from_unit = st.selectbox("From Unit", ["Celsius", "Fahrenheit", "Kelvin"])
with col2:
to_unit = st.selectbox("To Unit", ["Celsius", "Fahrenheit", "Kelvin"])
temp_input = st.text_input("Enter Temperature (0 - 500)", "0")
# Validate input
try:
temp_value = float(temp_input)
if temp_value < 0 or temp_value > 500:
st.error("Please enter a temperature between 0 and 500.")
else:
converted = convert_temperature(temp_value, from_unit, to_unit)
st.success(f"Converted Temperature: {converted:.2f} {to_unit}")
except ValueError:
st.warning("Please enter a valid numeric temperature.")