写在前面
相较于第三代,简化了代码,更简洁了一些。
源码
import random
from tkinter import *
def generate_expression(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 topic():
global A_e, B_e, C_e, D_g, E_g
A_e = generate_expression(10, 100, 10, 100)
B_e = generate_expression(10, 100, 10, 100)
C_e = generate_expression(10, 100, 10, 100)
D_g = generate_expression(10, 100, 10, 130)
E_g = generate_expression(10, 100, 10, 130)
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))
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)
root = Tk()
root.title(" 题目生成器 V4.0")
root.geometry("500x500+100+100")
date = topic()
label1 = Label(root, text=' ', font = ("微软雅黑", 15))
label1.place(x = 0, y = 30)
label2 = Label(root, text=' ', font = ("微软雅黑", 15))
label2.place(x = 0, y = 60)
label3 = Label(root, text=' ', font = ("微软雅黑", 15))
label3.place(x = 0, y = 90)
label4 = Label(root, text=' ', font = ("微软雅黑", 15))
label4.place(x = 0, y = 120)
label5 = Label(root, text=' ', font = ("微软雅黑", 15))
label5.place(x = 0, y = 150)
label = Label(root, text='欢迎使用题目生成器!', font = ('微软雅黑', 20))
button = Button(root, text='生成题目', font = ('微软雅黑', 15), command = butt)
label.place(x = 120, y = 150)
button.place(x = 190, y = 200)
root.mainloop()