python中编写求两个整整数的最小公倍数的图形化用户界面程序。元素要求:两个输入框txt1、txt2用于输入整型数据;一个按钮;一个不可编辑的输入组件txtx3.当单击按钮时,在txt3中显示两个整数的最小公倍数的值
时间: 2024-03-20 08:41:52 浏览: 70
下面是一个使用 tkinter 编写的求两个整数最小公倍数的图形化用户界面程序:
```python
import tkinter as tk
def lcm(a, b):
"""求两个整数的最小公倍数"""
# 先求出最大公约数 gcd
if a < b:
a, b = b, a
while b != 0:
a, b = b, a % b
# 再用 a * b / gcd 得到最小公倍数 lcm
return a * b // a
def calculate_lcm():
"""计算最小公倍数"""
try:
num1 = int(txt1.get())
num2 = int(txt2.get())
result = lcm(num1, num2)
txt3.config(state='normal')
txt3.delete(0, tk.END)
txt3.insert(0, str(result))
txt3.config(state='readonly')
except ValueError:
txt3.config(state='normal')
txt3.delete(0, tk.END)
txt3.insert(0, "请输入整数")
txt3.config(state='readonly')
# 创建主窗口
root = tk.Tk()
root.title("最小公倍数计算器")
# 创建输入框和按钮
lbl1 = tk.Label(root, text="第一个数:")
lbl1.pack(side=tk.LEFT)
txt1 = tk.Entry(root, width=10)
txt1.pack(side=tk.LEFT)
lbl2 = tk.Label(root, text="第二个数:")
lbl2.pack(side=tk.LEFT)
txt2 = tk.Entry(root, width=10)
txt2.pack(side=tk.LEFT)
btn = tk.Button(root, text="计算", command=calculate_lcm)
btn.pack(side=tk.LEFT)
# 创建结果显示框
lbl3 = tk.Label(root, text="最小公倍数:")
lbl3.pack(side=tk.LEFT)
txt3 = tk.Entry(root, width=10, state='readonly')
txt3.pack(side=tk.LEFT)
# 进入消息循环
root.mainloop()
```
在上面的代码中,我们先定义了一个函数 `lcm`,用于求两个整数的最小公倍数。然后,我们创建了一个名为 `calculate_lcm` 的函数,该函数将从 `txt1` 和 `txt2` 中获取输入的整数,调用 `lcm` 函数计算最小公倍数,并将结果显示在 `txt3` 中。
最后,我们创建了一个主窗口,并在窗口中添加了两个输入框、一个按钮和一个不可编辑的输入框,用于显示计算结果。当用户单击按钮时,程序将调用 `calculate_lcm` 函数计算两个整数的最小公倍数,并将结果显示在输入框中。
阅读全文