python要求编写求两个正整数的最小公倍数的图形用户界面程序。元素要求:两个输入框txt1、 txt2用于输入整型数据;一个按钮;一个不可编辑的输入组件txt3。当单击按钮时,在txt3中显示两个整数的最小公倍数的值。
时间: 2024-04-02 12:32:08 浏览: 107
用python编写两个正整数的最大公约数和最小公倍数的小程序
好的,下面是 Python 的 Tkinter 模块实现的 GUI 程序代码:
```python
import tkinter as tk
# 定义计算最小公倍数的函数
def lcm(a, b):
# 先求最大公约数gcd
if a < b:
a, b = b, a
while b:
a, b = b, a % b
# 最小公倍数等于两数之积除以最大公约数
return a * (txt2_num // a)
# 定义按钮点击事件处理函数
def button_click():
# 获取输入框中的整数
txt1_num = int(txt1.get())
txt2_num = int(txt2.get())
# 计算最小公倍数
lcm_num = lcm(txt1_num, txt2_num)
# 在输出框中显示结果
txt3.config(state=tk.NORMAL)
txt3.delete(0, tk.END)
txt3.insert(0, lcm_num)
txt3.config(state=tk.DISABLED)
# 创建主窗口
window = tk.Tk()
window.title("最小公倍数计算器")
# 创建输入框和按钮
label1 = tk.Label(window, text="请输入第一个正整数:")
label1.grid(column=0, row=0)
txt1 = tk.Entry(window)
txt1.grid(column=1, row=0)
label2 = tk.Label(window, text="请输入第二个正整数:")
label2.grid(column=0, row=1)
txt2 = tk.Entry(window)
txt2.grid(column=1, row=1)
button1 = tk.Button(window, text="计算最小公倍数", command=button_click)
button1.grid(column=0, row=2)
# 创建输出框
label3 = tk.Label(window, text="最小公倍数为:")
label3.grid(column=0, row=3)
txt3 = tk.Entry(window, state=tk.DISABLED)
txt3.grid(column=1, row=3)
# 运行主程序
window.mainloop()
```
程序界面如下:
![lcm_calculator_GUI.png](https://i.loli.net/2021/08/10/sYUQzV6Pc3uJ8qR.png)
在程序中,我们首先定义了一个函数 `lcm(a, b)`,用来计算两个整数的最小公倍数,然后在按钮的点击事件处理函数 `button_click` 中,获取输入框中的两个整数,调用 `lcm` 函数计算它们的最小公倍数,最后将结果显示在输出框中。
注意,在输出框中显示结果时,我们需要先将其设为可编辑状态,然后清空原有内容,再插入新的结果,最后再将其设为不可编辑状态,以实现只读效果。
阅读全文