源码
import random
from tkinter import *
from tkinter import Menu
#计算题
def calculate(min_val1, max_val1, min_val2, max_val2):
num1 = round(random.uniform(min_val1, max_val1), 2)
num2 = round(random.uniform(min_val2, max_val2), 2)
num3 = num1
num4 = round(100 - num2, 2)
expr = str(num1)+'×'+str(num2)+'+'+str(num3)+'×'+str(num4)
return expr
#一元方程
def equation_one():
a = random.randint(-10, 10)
if a == 0:
a = random.randint(1, 10)
b = random.randint(-10, 10)
sign_a = '-' if a < 0 else ''
sign_b = '-' if b < 0 else '+'
if b == 0:
equation = f"{sign_a}{abs(a)}x = 0"
else:
equation = f"{sign_a}{abs(a)}x {sign_b} {abs(b)} = 0"
return equation
#二元方程
def equation_two():
a = random.randint(-10, 10)
if a == 0:
a = random.randint(1, 10)
b = random.randint(-10, 10)
if b == 0:
b = random.randint(1, 10)
c = random.randint(-10, 10)
sign_a = '-' if a < 0 else ''
sign_b = '-' if b < 0 else '+'
sign_c = '-' if c < 0 else '+'
equation = f"{sign_a}{abs(a)}x {sign_b} {abs(b)}y {sign_c} {abs(c)} = 0"
return equation
#二次方程
def equation_sd():
a = random.randint(-10, 10)
if a == 0:
a = random.randint(1, 10)
b = random.randint(-10, 10)
c = random.randint(-10, 10)
sign_a = '-' if a < 0 else ''
sign_b = '-' if b < 0 else '+'
sign_c = '-' if c < 0 else '+'
equation = f"{sign_a}{abs(a)}x² {sign_b} {abs(b)}x {sign_c} {abs(c)} = 0"
return equation
def topic():
global A_e, B_e, C_e, D_g, E_g,X_o, Y_o, X_t, Y_t, X_sd, Y_sd;
A_e = calculate(10, 100, 10, 100)
B_e = calculate(10, 100, 10, 100)
C_e = calculate(10, 100, 10, 100)
D_g = calculate(10, 100, 10, 130)
E_g = calculate(10, 100, 10, 130)
X_o = equation_one()
Y_o = equation_one()
X_t = equation_two()
Y_t = equation_two()
X_sd = equation_sd()
Y_sd = equation_sd()
def up_date():
date = topic()
label1.config(text = A_e, font = ("微软雅黑", 15))
label2.config(text = B_e, font = ("微软雅黑", 15))
label3.config(text = C_e, font = ("微软雅黑", 15))
label4.config(text = D_g, font = ("微软雅黑", 15))
label5.config(text = E_g, font = ("微软雅黑", 15))
label6.config(text = X_o, font = ("微软雅黑", 15))
label7.config(text = Y_o, font = ("微软雅黑", 15))
label8.config(text = X_t, font = ("微软雅黑", 15))
label9.config(text = Y_t, font = ("微软雅黑", 15))
label10.config(text = X_sd, font = ("微软雅黑", 15))
label11.config(text = Y_sd, font = ("微软雅黑", 15))
def butt():
label.destroy()
button.destroy()
button1 = Button(root, text='重新生成', width = 20, height = 1, command = butt)
button1.place(x = 0, y = 0)
timer = root.after(0, up_date)
def temperature():
#摄氏度转华氏度函数体
def SZH():
def btnClicked1():
cd1 = float(entryCd1.get())
label1.config(text = "%.3f°C = %.3f°F" % (cd1,cd1 * 1.8 + 32))
def close_VICE_SZH():
VICE1_root.destroy()
VICE1_root = Tk(className = '摄氏度°C转华氏度°F')
VICE1_root.geometry("350x300+0+0")
close_button_VICE_SZH = Button(VICE1_root,text = "返回主界面",height=1,width=15,fg = 'red',command = close_VICE_SZH)
label1 = Label(VICE1_root,text = "摄氏度°C转华氏度°F",height = 5,width = 350,fg = "blue")
entryCd1 = Entry(VICE1_root,text = "0")
btnCal = Button(VICE1_root,text = "转换",command = btnClicked1)
label1.pack()
entryCd1.pack()
btnCal.pack()
close_button_VICE_SZH.pack()
VICE1_root.mainloop()
#华氏度转摄氏度函数体
def HZS():
def btnClicked2():
cd2 = float(entryCd2.get())
label2.config(text = "%.3f°C = %.3f°F" % (cd2,(cd2 - 32)/1.8))
def close_VICE_HZS():
VICE2_root.destroy()
VICE2_root = Tk(className = '华氏度°F转摄氏度°C')
VICE2_root.geometry("350x300+0+0")
close_button_VICE_HZS = Button(VICE2_root,text = "返回主界面",height=1,width=15,fg = 'red',command = close_VICE_HZS)
label2 = Label(VICE2_root,text = "华氏度°F转摄氏度°C",height = 5,width = 350,fg = "blue")
entryCd2 = Entry(VICE2_root,text = "0")
btnCal2 = Button(VICE2_root,text = "转换",command = btnClicked2)
label2.pack()
entryCd2.pack()
btnCal2.pack()
close_button_VICE_HZS.pack()
VICE2_root.mainloop()
#热力学温度转摄氏度函数体
def KZS():
def btnClicked3():
cd3 = float(entryCd3.get())
label3.config(text = "%.3fK = %.3f°C" % (cd3,(cd3 - 273.15)))
def close_VICE_KZS():
VICE3_root.destroy()
VICE3_root = Tk(className = '热力学温度K转摄氏度°C')
VICE3_root.geometry("350x300+0+0")
close_button_VICE_KZS = Button(VICE3_root,text = "返回主界面",height=1,width=15,fg = 'red',command = close_VICE_KZS)
label3 = Label(VICE3_root,text = "热力学温度K转摄氏度°C",height = 5,width = 350,fg = "blue")
entryCd3 = Entry(VICE3_root,text = "0")
btnCal3 = Button(VICE3_root,text = "转换",command = btnClicked3)
label3.pack()
entryCd3.pack()
btnCal3.pack()
close_button_VICE_KZS.pack()
VICE3_root.mainloop()
#摄氏度转热力学温度函数体
def SZK():
def btnClicked4():
cd4 = float(entryCd4.get())
label4.config(text = "%.3f°C = %.3fK" % (cd4,(cd4 + 273.15)))
def close_VICE_SZK():
VICE4_root.destroy()
VICE4_root = Tk(className = '摄氏度°C转热力学温度K')
VICE4_root.geometry("350x300+0+0")
close_button_VICE_SZK = Button(VICE4_root,text = "返回主界面",height=1,width=15,fg = 'red',command = close_VICE_SZK)
label4 = Label(VICE4_root,text = "摄氏度°C转热力学温度K",height = 5,width = 350,fg = "blue")
entryCd4 = Entry(VICE4_root,text = "0")
btnCal4 = Button(VICE4_root,text = "转换",command = btnClicked4)
label4.pack()
entryCd4.pack()
btnCal4.pack()
close_button_VICE_SZK.pack()
VICE4_root.mainloop()
#热力学温度转华氏度函数体
def KZH():
def btnClicked5():
cd5 = float(entryCd5.get())
label5.config(text = "%.3fK = %.3f°F" % (cd5,((cd5-273.5)*1.8/5+32)))
def close_VICE_KZH():
VICE5_root.destroy()
VICE5_root = Tk(className = '热力学温度K转华氏度°F')
VICE5_root.geometry("350x300+0+0")
close_button_VICE_KZH = Button(VICE5_root,text = "返回主界面",height=1,width=15,fg = 'red',command = close_VICE_KZH)
label5 = Label(VICE5_root,text = "热力学温度K转华氏度°F",height = 5,width = 350,fg = "blue")
entryCd5 = Entry(VICE5_root,text = "0")
btnCal5 = Button(VICE5_root,text = "转换",command = btnClicked5)
label5.pack()
entryCd5.pack()
btnCal5.pack()
close_button_VICE_KZH.pack()
VICE5_root.mainloop()
#华氏度转热力学温度函数体
def HZK():
def btnClicked6():
cd6 = float(entryCd6.get())
label6.config(text = "%.3f°F = %.3fK" % (cd6,((cd6-32)*5/1.8+273.5)))
def close_VICE_HZK():
VICE6_root.destroy()
VICE6_root = Tk(className = '华氏度°F转热力学温度K')
VICE6_root.geometry("350x300+0+0")
close_button_VICE_HZK = Button(VICE6_root,text = "返回主界面",height=1,width=15,fg = 'red',command = close_VICE_HZK)
label6 = Label(VICE6_root,text = "华氏度°F转热力学温度K",height = 5,width = 350,fg = "blue")
entryCd6 = Entry(VICE6_root,text = "0")
btnCal6 = Button(VICE6_root,text = "转换",command = btnClicked6)
label6.pack()
entryCd6.pack()
btnCal6.pack()
close_button_VICE_HZK.pack()
VICE6_root.mainloop()
#主界面关闭函数体
def close_HOST():
root.destroy()
root = Tk(className = '温度互转仪')
root.geometry("350x350+100+100")
root.overrideredirect(True)
l = Label(root,text = "转换模式",height=2,width=20,fg="orange")
close_button_HOST = Button(root,text = "×",height=1,width=5,font=("微软雅黑",15),fg = 'black',bd=0,command = close_HOST)
button1 = Button(root,text = "摄氏度°C转华氏度°F",height=1,width=30,fg = 'red',command = SZH)
button2 = Button(root,text = "华氏度°F转摄氏度°C",height=1,width=30,fg = 'red',command = HZS)
button3 = Button(root,text = "热力学温度K转摄氏度°C",height=1,width=30,fg = 'red',command = KZS)
button4 = Button(root,text = "摄氏度°C转热力学温度K",height=1,width=30,fg = 'red',command = SZK)
button5 = Button(root,text = "热力学温度K转华氏度°F",height=1,width=30,fg = 'red',command = KZH)
button6 = Button(root,text = "华氏度°F转热力学温度K",height=1,width=30,fg = 'red',command = HZK)
close_button_HOST.place(x=300,y=0)
l.pack()
button1.pack()
button2.pack()
button3.pack()
button4.pack()
button5.pack()
button6.pack()
root.mainloop()
def Y():
window= Tk()
window.title('元素周期表')
window.geometry('930x890+100+100')
window.attributes("-alpha", 0.9)
window.resizable(False, False)
L = Label(window, text = '元素周期表',font=('微软雅黑',30))
#例
introduceelement1 = Label(window,text = '原子序数↘ ↙化学符号',font=('微软雅黑',7))
introduceelement1.place(x=200,y=40)
introduceelement2 = Label(window,text = ' 95 Am',font=('微软雅黑',10))
introduceelement2.place(x=200,y=60)
introduceelement3 = Label(window,text = ' 镅',font=('微软雅黑',20))
introduceelement3.place(x=150,y=80)
introduceelement4 = Label(window,text = '元素名称 ↗(243)↰',font=('微软雅黑',10))
introduceelement4.place(x=180,y=120)
introduceelement5 = Label(window,text = ' 相对原子质量',font=('微软雅黑',10))
introduceelement5.place(x=200,y=140)
#族
FamilyIA = Label(window,text = ' IA族',font=('微软雅黑',10), relief=GROOVE)
FamilyIA.place(x=10,y=40)
FamilyIIA = Label(window,text = 'IIA族',font=('微软雅黑',10), relief=GROOVE)
FamilyIIA.place(x=60,y=120)
FamilyIIIB = Label(window,text = 'IIIB族',font=('微软雅黑',10), relief=GROOVE)
FamilyIIIB.place(x=110,y=280)
FamilyIVB = Label(window,text = 'IVB族',font=('微软雅黑',10), relief=GROOVE)
FamilyIVB.place(x=170,y=280)
FamilyVB = Label(window,text = ' VB族',font=('微软雅黑',10), relief=GROOVE)
FamilyVB.place(x=230,y=280)
FamilyVIB = Label(window,text = 'VIB族',font=('微软雅黑',10), relief=GROOVE)
FamilyVIB.place(x=280,y=280)
FamilyVIIB = Label(window,text = '