File size: 1,982 Bytes
53403c1 14f0522 564b4e2 9f72ed4 53403c1 14f0522 53403c1 14f0522 53403c1 14f0522 53403c1 14f0522 53403c1 14f0522 53403c1 14f0522 626683a 14f0522 48a3aa1 14f0522 48a3aa1 14f0522 48a3aa1 14f0522 48a3aa1 14f0522 48a3aa1 53403c1 48a3aa1 9f72ed4 53403c1 15aba26 14f0522 53403c1 9f72ed4 14f0522 53403c1 564b4e2 |
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 45 46 47 48 49 50 51 52 53 |
import gradio as gr
from fractions import Fraction
def calculator(num1, operation, num2=None):
if operation == "add":
result = Fraction(num1) + Fraction(num2)
elif operation == "subtract":
result = Fraction(num1) - Fraction(num2)
elif operation == "multiply":
result = Fraction(num1) * Fraction(num2)
elif operation == "divide":
result = Fraction(num1) / Fraction(num2)
elif operation == "square":
result = Fraction(num1) * Fraction(num1)
elif operation == "cube":
result = Fraction(num1) * Fraction(num1) * Fraction(num1)
elif operation == "exponential":
result = pow(Fraction(num1), Fraction(num2))
elif operation == "frac add":
result = Fraction(num1) + Fraction(num2)
elif operation == "frac subtract":
result = Fraction(num1) - Fraction(num2)
elif operation == "frac multiply":
result = Fraction(num1) * Fraction(num2)
elif operation == "frac divide":
result = Fraction(num1) / Fraction(num2)
return result
demo = gr.Interface(
fn=calculator,
inputs=[
gr.Number(value=4),
gr.Radio(["add", "subtract", "multiply", "divide", "square", "cube", "exponential", "frac add", "frac subtract", "frac multiply", "frac divide"]),
gr.Number(value=2, label="Second Number (optional)", optional=True)
],
outputs="number",
examples=[
[5, "add", 3],
[4, "divide", 2],
[-4, "multiply", 2.5],
[0, "subtract", 1.2],
[2, "exponential", 3],
[Fraction(3, 4), "frac add", Fraction(1, 4)],
[Fraction(3, 4), "frac subtract", Fraction(1, 4)],
[Fraction(3, 4), "frac multiply", Fraction(1, 4)],
[Fraction(3, 4), "frac divide", Fraction(1, 4)],
],
title="Scientific Calculator",
description="Here's a sample scientific calculator. Enjoy! Code by: Freddy Aboulton Improved by: Usually3 and ChatGpt"
)
demo.launch()
|