用Python写编程😭

Python实现:

  1. 创建顶层窗口,
  2. 创建两个按钮(分别对应万有引力和牛顿第二定律),
  3. 点击按钮后弹出新的窗口,
  4. 在新的窗口中,能够通过输入对应的数值计算对应按钮的力的大小,并显示在当前窗口中
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() 

这个程序实现了:

  1. 创建顶层窗口root
  2. 创建两个按钮,分别对应万有引力和牛顿第二定律
  3. 点击按钮时,创建新窗口win,用于输入参数和显示计算结果
  4. 在万有引力窗口中,可以输入两个物体的质量和距离,点击“计算力”按钮可以计算并显示万有引力大小
  5. 第二定律窗口代码省略,与万有引力窗口类似
  6. 启动主事件循环以显示窗口

望采纳!