sumit-ai-ml commited on
Commit
9171b50
1 Parent(s): c4fc3e1

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +80 -0
app.py ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ # Function to calculate percentage
4
+ def calculate_percentage(part, whole):
5
+ try:
6
+ part = float(part)
7
+ whole = float(whole)
8
+ if whole == 0:
9
+ return "Whole cannot be zero"
10
+ return f"{(part / whole) * 100:.2f}%"
11
+ except ValueError:
12
+ return "Invalid input"
13
+
14
+ # Function to calculate percentage increase
15
+ def percentage_increase(original, new):
16
+ try:
17
+ original = float(original)
18
+ new = float(new)
19
+ if original == 0:
20
+ return "Original value cannot be zero"
21
+ increase = new - original
22
+ return f"{(increase / original) * 100:.2f}%"
23
+ except ValueError:
24
+ return "Invalid input"
25
+
26
+ # Function to calculate percentage decrease
27
+ def percentage_decrease(original, new):
28
+ try:
29
+ original = float(original)
30
+ new = float(new)
31
+ if original == 0:
32
+ return "Original value cannot be zero"
33
+ decrease = original - new
34
+ return f"{(decrease / original) * 100:.2f}%"
35
+ except ValueError:
36
+ return "Invalid input"
37
+
38
+ # Function to calculate a value from percentage
39
+ def value_from_percentage(percentage, whole):
40
+ try:
41
+ percentage = float(percentage)
42
+ whole = float(whole)
43
+ return f"{(percentage / 100) * whole:.2f}"
44
+ except ValueError:
45
+ return "Invalid input"
46
+
47
+ # Creating Gradio interface
48
+ with gr.Blocks() as demo:
49
+ gr.Markdown("# Percentage Calculator")
50
+
51
+ with gr.Tabs():
52
+ with gr.TabItem("Calculate Percentage"):
53
+ part = gr.Number(label="Part")
54
+ whole = gr.Number(label="Whole")
55
+ percentage_output = gr.Textbox(label="Percentage", interactive=False)
56
+ calc_button = gr.Button("Calculate")
57
+ calc_button.click(calculate_percentage, inputs=[part, whole], outputs=percentage_output)
58
+
59
+ with gr.TabItem("Percentage Increase"):
60
+ original_value_inc = gr.Number(label="Original Value")
61
+ new_value_inc = gr.Number(label="New Value")
62
+ increase_output = gr.Textbox(label="Percentage Increase", interactive=False)
63
+ calc_button_inc = gr.Button("Calculate")
64
+ calc_button_inc.click(percentage_increase, inputs=[original_value_inc, new_value_inc], outputs=increase_output)
65
+
66
+ with gr.TabItem("Percentage Decrease"):
67
+ original_value_dec = gr.Number(label="Original Value")
68
+ new_value_dec = gr.Number(label="New Value")
69
+ decrease_output = gr.Textbox(label="Percentage Decrease", interactive=False)
70
+ calc_button_dec = gr.Button("Calculate")
71
+ calc_button_dec.click(percentage_decrease, inputs=[original_value_dec, new_value_dec], outputs=decrease_output)
72
+
73
+ with gr.TabItem("Value from Percentage"):
74
+ percentage_value = gr.Number(label="Percentage")
75
+ whole_value = gr.Number(label="Whole")
76
+ value_output = gr.Textbox(label="Value", interactive=False)
77
+ calc_button_value = gr.Button("Calculate")
78
+ calc_button_value.click(value_from_percentage, inputs=[percentage_value, whole_value], outputs=value_output)
79
+
80
+ demo.launch()