Abhlash commited on
Commit
80a085d
·
verified ·
1 Parent(s): 611188d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -12
app.py CHANGED
@@ -4,6 +4,7 @@ import uvicorn
4
 
5
  # Gradio Interface
6
  history = []
 
7
 
8
  def gradio_calculate(a, b, operation):
9
  request = CalculationRequest(a=a, b=b, operation=operation)
@@ -12,23 +13,37 @@ def gradio_calculate(a, b, operation):
12
  history.append(f"{a} {operation} {b} = {result}")
13
  return "\n".join(history)
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  def create_interface():
16
  with gr.Blocks() as demo:
17
- a = gr.Number(label="A")
18
- b = gr.Number(label="B")
19
  result = gr.Textbox(label="Result", lines=10, interactive=False)
 
 
 
 
 
 
 
20
 
21
  with gr.Row():
22
- gr.Button("0").click(lambda x: x + "0", inputs=result, outputs=result)
23
- gr.Button("1").click(lambda x: x + "1", inputs=result, outputs=result)
24
- gr.Button("2").click(lambda x: x + "2", inputs=result, outputs=result)
25
- gr.Button("3").click(lambda x: x + "3", inputs=result, outputs=result)
26
- gr.Button("4").click(lambda x: x + "4", inputs=result, outputs=result)
27
- gr.Button("5").click(lambda x: x + "5", inputs=result, outputs=result)
28
- gr.Button("6").click(lambda x: x + "6", inputs=result, outputs=result)
29
- gr.Button("7").click(lambda x: x + "7", inputs=result, outputs=result)
30
- gr.Button("8").click(lambda x: x + "8", inputs=result, outputs=result)
31
- gr.Button("9").click(lambda x: x + "9", inputs=result, outputs=result)
32
 
33
  with gr.Row():
34
  gr.Button("Add").click(lambda a, b: gradio_calculate(a, b, "add"), inputs=[a, b], outputs=result)
 
4
 
5
  # Gradio Interface
6
  history = []
7
+ current_input = ""
8
 
9
  def gradio_calculate(a, b, operation):
10
  request = CalculationRequest(a=a, b=b, operation=operation)
 
13
  history.append(f"{a} {operation} {b} = {result}")
14
  return "\n".join(history)
15
 
16
+ def update_input(digit):
17
+ global current_input
18
+ current_input += str(digit)
19
+ return current_input
20
+
21
+ def clear_input():
22
+ global current_input
23
+ current_input = ""
24
+ return current_input
25
+
26
+ def backspace():
27
+ global current_input
28
+ current_input = current_input[:-1]
29
+ return current_input
30
+
31
  def create_interface():
32
  with gr.Blocks() as demo:
33
+ a = gr.Number(label="A", interactive=True)
34
+ b = gr.Number(label="B", interactive=True)
35
  result = gr.Textbox(label="Result", lines=10, interactive=False)
36
+ current = gr.Textbox(label="Current Input", interactive=False)
37
+
38
+ with gr.Row():
39
+ for i in range(10):
40
+ gr.Button(str(i)).click(lambda x=i: update_input(x), inputs=[], outputs=current)
41
+ gr.Button("Back").click(backspace, inputs=[], outputs=current)
42
+ gr.Button("Clear").click(clear_input, inputs=[], outputs=current)
43
 
44
  with gr.Row():
45
+ gr.Button("Set A").click(lambda x: float(current_input), inputs=[], outputs=a)
46
+ gr.Button("Set B").click(lambda x: float(current_input), inputs=[], outputs=b)
 
 
 
 
 
 
 
 
47
 
48
  with gr.Row():
49
  gr.Button("Add").click(lambda a, b: gradio_calculate(a, b, "add"), inputs=[a, b], outputs=result)