abhishekjoel commited on
Commit
b5adad5
·
verified ·
1 Parent(s): 2a9c612

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -34
app.py CHANGED
@@ -1,34 +1,40 @@
1
- import gradio as gr
2
-
3
- def calculator(num1, operation, num2):
4
- if operation == "add":
5
- return num1 + num2
6
- elif operation == "subtract":
7
- return num1 - num2
8
- elif operation == "multiply":
9
- return num1 * num2
10
- elif operation == "divide":
11
- if num2 == 0:
12
- raise gr.Error("Cannot divide by zero!")
13
- return num1 / num2
14
-
15
- demo = gr.Interface(
16
- calculator,
17
- [
18
- "number",
19
- gr.Radio(["add", "subtract", "multiply", "divide"]),
20
- "number"
21
- ],
22
- "number",
23
- examples=[
24
- [45, "add", 3],
25
- [3.14, "divide", 2],
26
- [144, "multiply", 2.5],
27
- [0, "subtract", 1.2],
28
- ],
29
- title="Toy Calculator",
30
- description="Here's a sample toy calculator.",
31
- )
32
-
33
- if __name__ == "__main__":
34
- demo.launch()
 
 
 
 
 
 
 
1
+ from pydantic import BaseModel
2
+ from fastapi import FastAPI
3
+
4
+ app = FastAPI()
5
+
6
+
7
+ class Numbers(BaseModel):
8
+ x: float
9
+ y: float
10
+
11
+ @app.post("/add")
12
+ def add_numbers_api(numbers: Numbers):
13
+ return {"result": add_numbers(numbers.x, numbers.y)}
14
+
15
+ @app.post("/subtract")
16
+ def subtract_numbers_api(numbers: Numbers):
17
+ return {"result": subtract_numbers(numbers.x, numbers.y)}
18
+
19
+ @app.post("/multiply")
20
+ def multiply_numbers_api(numbers: Numbers):
21
+ return {"result": multiply_numbers(numbers.x, numbers.y)}
22
+
23
+ @app.post("/divide")
24
+ def divide_numbers_api(numbers: Numbers):
25
+ return {"result": divide_numbers(numbers.x, numbers.y)}
26
+
27
+
28
+ def add_numbers(x, y):
29
+ return x + y
30
+
31
+ def subtract_numbers(x, y):
32
+ return x - y
33
+
34
+ def multiply_numbers(x, y):
35
+ return x * y
36
+
37
+ def divide_numbers(x, y):
38
+ if y == 0:
39
+ raise ValueError("Cannot divide by zero")
40
+ return x / y