File size: 2,308 Bytes
af2bad2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b786662
af2bad2
b786662
 
 
af2bad2
b786662
 
af2bad2
b786662
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
af2bad2
b786662
af2bad2
 
b786662
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import streamlit as st

# Function to convert temperature
def convert_temperature(value, from_unit, to_unit):
    if from_unit == "Celsius" and to_unit == "Fahrenheit":
        return (value * 9/5) + 32
    elif from_unit == "Celsius" and to_unit == "Kelvin":
        return value + 273.15
    elif from_unit == "Fahrenheit" and to_unit == "Celsius":
        return (value - 32) * 5/9
    elif from_unit == "Fahrenheit" and to_unit == "Kelvin":
        return ((value - 32) * 5/9) + 273.15
    elif from_unit == "Kelvin" and to_unit == "Celsius":
        return value - 273.15
    elif from_unit == "Kelvin" and to_unit == "Fahrenheit":
        return ((value - 273.15) * 9/5) + 32
    else:
        return value

# Streamlit app UI
st.set_page_config(page_title="Temperature Conversion App", page_icon="🌡️")

# Heading with a custom font and color
st.title("🌡️ **Temperature Conversion App**")
st.markdown("<h3 style='color:#ff6347;'>Convert temperature units with ease!</h3>", unsafe_allow_html=True)

# Create columns for input and output
col1, col2 = st.columns(2)

with col1:
    # Input section with a colorful header
    st.markdown("<h4 style='color:#20b2aa;'>Input Temperature</h4>", unsafe_allow_html=True)
    temperature = st.number_input("Enter the temperature value:", value=0.0, step=0.1, format="%.1f")
    from_unit = st.selectbox("Select from unit", ["Celsius", "Fahrenheit", "Kelvin"])
    
with col2:
    # Output section with a colorful header
    st.markdown("<h4 style='color:#20b2aa;'>Output Temperature</h4>", unsafe_allow_html=True)
    to_unit = st.selectbox("Select to unit", ["Celsius", "Fahrenheit", "Kelvin"])

# Add a colorful button for conversion
convert_button = st.button("🔄 Convert", key="convert_button", help="Click to convert the temperature", use_container_width=True)

# Display the result
if convert_button:
    if from_unit == to_unit:
        st.warning(f"The temperature is already in **{to_unit}**.")
    else:
        converted_value = convert_temperature(temperature, from_unit, to_unit)
        st.success(f"{temperature} **{from_unit}** is equal to **{converted_value:.2f} {to_unit}**.")

# Footer with some styling
st.markdown("<br><hr><p style='text-align:center; color:#a9a9a9;'>Made with ❤️ by [Your Name]</p>", unsafe_allow_html=True)