File size: 1,414 Bytes
5147ad8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr

# Conversion functions
def convert_units(value, conversion_type):
    try:
        value = float(value)
    except:
        return "❌ Please enter a valid number"

    if conversion_type == "Kilogram β†’ Gram":
        return f"{value} kg = {value * 1000} g"
    elif conversion_type == "Gram β†’ Kilogram":
        return f"{value} g = {value / 1000} kg"
    elif conversion_type == "Meter β†’ Feet":
        return f"{value} m = {value * 3.28084:.2f} ft"
    elif conversion_type == "Feet β†’ Meter":
        return f"{value} ft = {value / 3.28084:.2f} m"
    elif conversion_type == "Celsius β†’ Fahrenheit":
        return f"{value} Β°C = {(value * 9/5) + 32:.2f} Β°F"
    elif conversion_type == "Fahrenheit β†’ Celsius":
        return f"{value} Β°F = {(value - 32) * 5/9:.2f} Β°C"
    else:
        return "❌ Unsupported conversion"

# Gradio interface
demo = gr.Interface(
    fn=convert_units,
    inputs=[
        gr.Textbox(label="Enter value"),
        gr.Dropdown(
            ["Kilogram β†’ Gram", "Gram β†’ Kilogram",
             "Meter β†’ Feet", "Feet β†’ Meter",
             "Celsius β†’ Fahrenheit", "Fahrenheit β†’ Celsius"],
            label="Select Conversion"
        )
    ],
    outputs="text",
    title="πŸ”„ Unit Converter",
    description="Convert between common units like kg ↔ g, m ↔ ft, Β°C ↔ Β°F."
)

if __name__ == "__main__":
    demo.launch()