用Python(推荐导入PySimpleGUI库)写一个面积计算器,要求能计算矩形面积,三角形面积,圆形面积,并且界面不同
时间: 2023-09-21 20:13:17 浏览: 88
好的,以下是一个基于PySimpleGUI的面积计算器的代码:
```python
import math
import PySimpleGUI as sg
# 定义矩形面积计算函数
def calc_rect_area(length, width):
return length * width
# 定义三角形面积计算函数
def calc_tri_area(base, height):
return 0.5 * base * height
# 定义圆形面积计算函数
def calc_circle_area(radius):
return math.pi * radius ** 2
# 定义主窗口布局
layout = [
[sg.Text('计算矩形面积', font=('Arial', 16))],
[sg.Text('长度:'), sg.InputText(size=(10,1), key='rect_length')],
[sg.Text('宽度:'), sg.InputText(size=(10,1), key='rect_width')],
[sg.Button('计算', key='rect_calc_btn')],
[sg.Text('矩形面积为:', key='rect_output')],
[sg.HorizontalSeparator()],
[sg.Text('计算三角形面积', font=('Arial', 16))],
[sg.Text('底边长:'), sg.InputText(size=(10,1), key='tri_base')],
[sg.Text('高:'), sg.InputText(size=(10,1), key='tri_height')],
[sg.Button('计算', key='tri_calc_btn')],
[sg.Text('三角形面积为:', key='tri_output')],
[sg.HorizontalSeparator()],
[sg.Text('计算圆形面积', font=('Arial', 16))],
[sg.Text('半径:'), sg.InputText(size=(10,1), key='circle_radius')],
[sg.Button('计算', key='circle_calc_btn')],
[sg.Text('圆形面积为:', key='circle_output')]
]
# 创建主窗口
window = sg.Window('面积计算器', layout)
# 主循环
while True:
event, values = window.read()
if event == sg.WIN_CLOSED:
break
elif event == 'rect_calc_btn':
try:
length = float(values['rect_length'])
width = float(values['rect_width'])
area = calc_rect_area(length, width)
window['rect_output'].update('矩形面积为:{}'.format(area))
except ValueError:
window['rect_output'].update('请输入数字!')
elif event == 'tri_calc_btn':
try:
base = float(values['tri_base'])
height = float(values['tri_height'])
area = calc_tri_area(base, height)
window['tri_output'].update('三角形面积为:{}'.format(area))
except ValueError:
window['tri_output'].update('请输入数字!')
elif event == 'circle_calc_btn':
try:
radius = float(values['circle_radius'])
area = calc_circle_area(radius)
window['circle_output'].update('圆形面积为:{}'.format(area))
except ValueError:
window['circle_output'].update('请输入数字!')
# 关闭窗口
window.close()
```
运行以上代码后,将会弹出一个带有三个不同计算器的窗口,每个计算器的界面都不同,如下图所示:
![面积计算器界面](area_calculator.png)
阅读全文