mishiawan commited on
Commit
486d1eb
·
verified ·
1 Parent(s): a062fe5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +62 -32
app.py CHANGED
@@ -1,33 +1,63 @@
1
- # app.py
2
-
3
  import streamlit as st
4
- from unit_conversion_program import *
5
-
6
- st.title("Unit Conversion Tool")
7
- st.write("Select a category and conversion to perform the desired unit transformation.")
8
-
9
- # Define categories and available conversions
10
- categories = {
11
- "Length": [("Micrometers to Nanometers", micrometers_to_nanometers),
12
- ("Angstroms to Nanometers", angstroms_to_nanometers),
13
- ("Light-Years to Kilometers", light_years_to_kilometers)],
14
- "Mass": [("Tons (US) to Kilograms", tons_us_to_kilograms)],
15
- # Add more categories and conversions as needed
16
- }
17
-
18
- # Select a category
19
- category = st.selectbox("Select a category:", list(categories.keys()))
20
-
21
- if category:
22
- # Select a conversion
23
- conversions = categories[category]
24
- conversion_name = st.selectbox("Select a conversion:", [c[0] for c in conversions])
25
- func = {c[0]: c[1] for c in conversions}[conversion_name]
26
-
27
- # Input the value to convert
28
- value = st.number_input(f"Enter value for {conversion_name}:", min_value=0.0)
29
-
30
- # Perform conversion
31
- if st.button("Convert"):
32
- result = func(value)
33
- st.success(f"Result: {result}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
+
3
+ # Conversion functions
4
+ def micrometers_to_nanometers(micrometers):
5
+ return micrometers * 1000
6
+
7
+ def angstroms_to_nanometers(angstroms):
8
+ return angstroms * 0.1
9
+
10
+ def light_years_to_kilometers(light_years):
11
+ return light_years * 9.461e12
12
+
13
+ def au_to_kilometers(au):
14
+ return au * 1.496e8
15
+
16
+ def parsecs_to_light_years(parsecs):
17
+ return parsecs * 3.262
18
+
19
+ def chains_to_meters(chains):
20
+ return chains * 20.1168
21
+
22
+ def furlongs_to_meters(furlongs):
23
+ return furlongs * 201.168
24
+
25
+ # Streamlit UI
26
+ st.title("Unit Conversion App")
27
+
28
+ # Add selectbox for the type of conversion
29
+ conversion_type = st.selectbox("Choose a conversion type", [
30
+ "Micrometers to Nanometers",
31
+ "Angstroms to Nanometers",
32
+ "Light-Years to Kilometers",
33
+ "Astronomical Units (AU) to Kilometers",
34
+ "Parsecs to Light-Years",
35
+ "Chains to Meters",
36
+ "Furlongs to Meters"
37
+ ])
38
+
39
+ # Input for the conversion
40
+ value = st.number_input("Enter the value to convert", min_value=0.0)
41
+
42
+ # Perform the conversion based on selected type
43
+ if conversion_type == "Micrometers to Nanometers":
44
+ result = micrometers_to_nanometers(value)
45
+ st.write(f"{value} micrometers is equal to {result} nanometers")
46
+ elif conversion_type == "Angstroms to Nanometers":
47
+ result = angstroms_to_nanometers(value)
48
+ st.write(f"{value} angstroms is equal to {result} nanometers")
49
+ elif conversion_type == "Light-Years to Kilometers":
50
+ result = light_years_to_kilometers(value)
51
+ st.write(f"{value} light years is equal to {result} kilometers")
52
+ elif conversion_type == "Astronomical Units (AU) to Kilometers":
53
+ result = au_to_kilometers(value)
54
+ st.write(f"{value} AU is equal to {result} kilometers")
55
+ elif conversion_type == "Parsecs to Light-Years":
56
+ result = parsecs_to_light_years(value)
57
+ st.write(f"{value} parsecs is equal to {result} light years")
58
+ elif conversion_type == "Chains to Meters":
59
+ result = chains_to_meters(value)
60
+ st.write(f"{value} chains is equal to {result} meters")
61
+ elif conversion_type == "Furlongs to Meters":
62
+ result = furlongs_to_meters(value)
63
+ st.write(f"{value} furlongs is equal to {result} meters")