利用gradio实现一个简易计算器的功能,输入两个数字和运算符,点击计算显示出运算结果,并历史记录可以显示之前的运算式,生成相关代码
时间: 2024-10-19 13:10:13 浏览: 52
基于gradio设计一个web运用,实现图片主体物的识别【智能计算系统-课程设计】
Gradio是一个开源工具,用于创建交互式的API接口,非常适合演示和原型设计,包括像计算器这样的简单应用。为了使用Gradio实现一个简易计算器,你需要安装`gradio`库并编写Python代码。以下是基本步骤:
首先,确保安装了`gradio`、`numpy`和`pandas`库,如果还没有安装,可以使用以下命令安装:
```bash
pip install gradio numpy pandas
```
然后,你可以创建一个简单的函数来执行四则运算,并利用`gradio`构建UI:
```python
import gradio as gr
import numpy as np
def calculator(num1, num2, operator):
if operator == "+":
return num1 + num2
elif operator == "-":
return num1 - num2
elif operator == "*":
return num1 * num2
elif operator == "/":
try:
return num1 / num2
except ZeroDivisionError:
return "Error: Division by zero is not allowed."
# 创建一个记录运算历史的数据结构(这里用字典)
history = []
def record_history(input_dict):
history.append((input_dict["num1"], input_dict["num2"], input_dict["operator"], input_dict["output"]))
iface = gr.Interface(
fn=calculator,
inputs=[gr.Number(minimum=0) for _ in range(2)],
outputs=gr.Number(),
title="Simple Calculator",
examples=[
{"num1": 5, "num2": 2, "operator": "+"},
{"num1": 8, "num2": 0, "operator": "/", "output": "Error"},
],
capture_session=True,
sidebar=gr.Sidebar([
["History", gr.Textbox("", value="")],
["Record Operation", gr.Button("Add to History")]
]),
on.interface_click(record_history),
)
iface.launch()
```
这个代码会创建一个界面,用户可以输入两个数字和一个运算符,点击计算按钮将结果显示在主界面上。同时,它会在侧边栏里保存操作历史,点击"添加到历史"按钮即可查看过去的运算。运行此代码,你就能得到一个简易计算器应用。
阅读全文