计算题生成器(脱式、方程计算)第七代

 

源码

 

​
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 = '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值