Kvikontent's picture
Update app.py
75753aa verified
import gradio as gr
def money_calculator(amount, operation, operand):
if operation == 'Add':
result = amount + operand
elif operation == 'Subtract':
result = amount - operand
elif operation == 'Multiply':
result = amount * operand
elif operation == 'Divide':
try:
result = amount / operand
except ZeroDivisionError:
result = "Cannot divide by zero."
else:
result = 'Invalid operation'
return result
def exponentiation_calculator(base, desired_result):
try:
# The exponentiation is solved as finding the n-th root of the desired_result
exponent = round(desired_result ** (1 / float(base)), 4)
return f"{base}^{exponent} = {desired_result}"
except Exception as e:
return str(e)
with gr.Blocks() as app:
with gr.Tab("Money Calculator"):
with gr.Row():
amount = gr.Number(label="Amount")
operation = gr.Dropdown(choices=['Add', 'Subtract', 'Multiply', 'Divide'], label="Operation")
operand = gr.Number(label="Operand")
money_result = gr.Number(label="Result", interactive=False)
money_calculate_btn = gr.Button("Calculate")
money_calculate_btn.click(money_calculator, inputs=[amount, operation, operand], outputs=[money_result])
with gr.Tab("Exponentiation Calculator"):
with gr.Row():
base = gr.Number(label="Base (n) [To find n^x]")
desired_result = gr.Number(label="Desired Result (To get from n^x)")
exp_result = gr.Textbox(label="Expression Result", interactive=False)
exponentiation_btn = gr.Button("Calculate")
exponentiation_btn.click(exponentiation_calculator, inputs=[base, desired_result], outputs=[exp_result])
app.launch()