Python实现:
import tkinter as tk
# 计算万有引力的函数
def calc_gravity(m1, m2, r):
G = 6.6743 * 10**(-11)
F = G * m1 * m2 / r**2
return F
# 计算牛顿第二定律的函数
def calc_second_law(m, a):
F = m * a
return F
# 创建顶层窗口
root = tk.Tk()
root.title("力的计算器")
# 标签和输入框
label1 = tk.Label(root, text="质量1:")
entry1 = tk.Entry(root)
label2 = tk.Label(root, text="质量2:")
entry2 = tk.Entry(root)
label3 = tk.Label(root, text="距离:")
entry3 = tk.Entry(root)
label4 = tk.Label(root, text="质量:")
entry4 = tk.Entry(root)
label5 = tk.Label(root, text="加速度:")
entry5 = tk.Entry(root)
# 万有引力的按钮和事件处理函数
def gravity():
m1 = float(entry1.get())
m2 = float(entry2.get())
r = float(entry3.get())
F = calc_gravity(m1, m2, r)
result["text"] = "万有引力大小为: {:.2f}N".format(F)
button1 = tk.Button(root, text="计算万有引力", command=gravity)
# 牛顿第二定律的按钮和事件处理函数
def second_law():
m = float(entry4.get())
a = float(entry5.get())
F = calc_second_law(m, a)
result["text"] = "力的大小为: {:.2f}N".format(F)
button2 = tk.Button(root, text="计算牛顿第二定律", command=second_law)
# 结果标签
result = tk.Label(root, text="请先输入数据并选择操作")
# 布局
label1.grid(row=0, column=0)
entry1.grid(row=0, column=1)
label2.grid(row=1, column=0)
entry2.grid(row=1, column=1)
label3.grid(row=2, column=0)
entry3.grid(row=2, column=1)
button1.grid(row=3, column=0)
label4.grid(row=4, column=0)
entry4.grid(row=4, column=1)
label5.grid(row=5, column=0)
entry5.grid(row=5, column=1)
button2.grid(row=6, column=0)
result.grid(row=7, column=0)
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title("力学定律计算器")
def grav_force():
win = tk.Toplevel(root)
win.title("万有引力计算")
tk.Label(win, text="请输入两个物体的质量(千克)和距离(米):").grid(row=0, column=0)
mass1 = tk.Entry(win)
mass1.grid(row=1, column=0)
mass2 = tk.Entry(win)
mass2.grid(row=2, column=0)
distance = tk.Entry(win)
distance.grid(row=3, column=0)
def calculate():
m1 = float(mass1.get())
m2 = float(mass2.get())
d = float(distance.get())
force = 6.67 * 10 ** (-11) * (m1 * m2) / d ** 2
tk.Label(win, text=f"万有引力大小为{force}N").grid(row=4, column=0)
tk.Button(win, text="计算力", command=calculate).grid(row=5, column=0)
def newton_force():
win = tk.Toplevel(root)
win.title("第二定律计算")
# 省略代码...
tk.Button(root, text="万有引力计算", command=grav_force).pack()
tk.Button(root, text="第二定律计算", command=newton_force).pack()
root.mainloop()
这个程序实现了:
望采纳!