使用tkinter实现两个正整型数的最小公倍数程序。要求:两个输入框txt1、txt2用来输入整形数据;一个按钮;一个不可编辑的输出组件txt3.当单击按钮时,在txt3中显示两个整型数的最小公倍数的值。
时间: 2024-10-21 14:17:35 浏览: 26
python 使用tkinter 实现一个猜数字游戏
5星 · 资源好评率100%
在Python中,你可以使用Tkinter库创建图形用户界面来实现这个功能。首先确保已经安装了`tkinter`模块。以下是一个简单的例子:
```python
import tkinter as tk
from math import gcd
def get_lcm(num1, num2):
lcm = (num1 * num2) // gcd(num1, num2)
return lcm
# 创建主窗口
root = tk.Tk()
root.title("最小公倍数计算器")
# 定义输入框和标签
label1 = tk.Label(root, text="请输入第一个正整数:")
label1.pack()
txt1 = tk.Entry(root, width=10, justify='right')
txt1.pack()
label2 = tk.Label(root, text="请输入第二个正整数:")
label2.pack()
txt2 = tk.Entry(root, width=10, justify='right')
txt2.pack()
# 定义按钮
button = tk.Button(root, text="计算最小公倍数", command=lambda: calculate_lcm(txt1.get(), txt2.get()))
button.pack()
# 定义输出框
label3 = tk.Label(root, text="结果:", anchor='w', font=('Arial', 14, 'bold'), wraplength=300, justify='left')
label3.pack()
txt3 = tk.Label(root, text="", bg='white', state=tk.DISABLED)
txt3.pack()
def calculate_lcm(num1, num2):
try:
int_num1 = int(num1)
int_num2 = int(num2)
if int_num1 > 0 and int_num2 > 0:
lcm = get_lcm(int_num1, int_num2)
txt3.config(state=tk.NORMAL)
txt3.config(text=f"最小公倍数: {lcm}")
else:
txt3.config(text="请输入两个正整数!")
txt3.config(state=tk.DISABLED)
except ValueError:
txt3.config(text="请输入数字!")
txt3.config(state=tk.DISABLED)
# 运行主循环
root.mainloop()
阅读全文