废话不多说,上源码
from random import *
from tkinter import *
calculation_window = Tk()
calculation_window.title('计算题生成器')
Sx = 0
def CXSC():
A_a = randint(10, 100)
A_b = randint(10, 100)
A_c = A_a
A_d = 100-A_b
A_e = str(A_a) + '×' + str(A_b) + '+' + str(A_c) + '×' + str(A_d)
label1 = Label(calculation_window, text = A_e,font=('微软雅黑',15))
B_a = round(uniform(10, 100), 2)
B_b = round(uniform(10, 100), 2)
B_c = B_a
B_d = round(100-B_b, 2)
B_e = str(B_a) + '×' + str(B_b) + '+' + str(B_c) + '×' + str(B_d)
label2 = Label(calculation_window, text = B_e,font=('微软雅黑',15))
C_a = round(uniform(10, 100), 2)
C_b = round(uniform(10, 100), 2)
C_c = C_a
C_d = round(100-C_b, 2)
C_e = str(C_a) + '×' + str(C_b) + '+' + str(C_c) + '×' + str(C_d)
label3 = Label(calculation_window, text = C_e,font=('微软雅黑',15))
D_a = round(uniform(10, 100), 2)
D_b = round(uniform(10, 130), 2)
D_c = D_a
D_d = randint(100, 130) - round(D_b, 2)
while D_d < 0:
D_b = round(uniform(10, 130), 2)
D_d = round(randint(100, 130) - round(D_b, 2))
D_e = round(D_b + D_c - 100, 2)
while D_e < 0:
D_b = round(uniform(10, 130), 2)
D_d = randint(100, 130) - round(D_b, 2)
if D_d < 0:
D_b = round(uniform(10, 130), 2)
D_d = round(randint(100, 130) - round(D_b, 2))
D_e = round(D_b + D_c - 100, 2)
D_f = D_a
D_g = str(round(D_a, 2)) + '×' + str(round(D_b, 2)) + '+' + str(round(D_c, 2)) + '×' +str(round(D_d, 2)) + '-' + str(round(D_f, 2)) + '×' + str(round(D_e, 2))
label4 = Label(calculation_window, text = D_g,font=('微软雅黑',15))
label1.pack()
label2.pack()
label3.pack()
label4.pack()
A_a = randint(10, 100)
A_b = randint(10, 100)
A_c = A_a
A_d = 100-A_b
A_e = str(A_a) + '×' + str(A_b) + '+' + str(A_c) + '×' + str(A_d)
label1 = Label(calculation_window, text = A_e,font=('微软雅黑',15))
B_a = round(uniform(10, 100), 2)
B_b = round(uniform(10, 100), 2)
B_c = B_a
B_d = round(100-B_b, 2)
B_e = str(B_a) + '×' + str(B_b) + '+' + str(B_c) + '×' + str(B_d)
label2 = Label(calculation_window, text = B_e,font=('微软雅黑',15))
C_a = round(uniform(10, 100), 2)
C_b = round(uniform(10, 100), 2)
C_c = C_a
C_d = round(100-C_b, 2)
C_e = str(C_a) + '×' + str(C_b) + '+' + str(C_c) + '×' + str(C_d)
label3 = Label(calculation_window, text = C_e,font=('微软雅黑',15))
D_a = round(uniform(10, 100), 2)
D_b = round(uniform(10, 130), 2)
D_c = D_a
D_d = randint(100, 130) - round(D_b, 2)
while D_d < 0:
D_b = round(uniform(10, 130), 2)
D_d = round(randint(100, 130) - round(D_b, 2))
D_e = round(D_b + D_c - 100, 2)
while D_e < 0:
D_b = round(uniform(10, 130), 2)
D_d = randint(100, 130) - round(D_b, 2)
if D_d < 0:
D_b = round(uniform(10, 130), 2)
D_d = round(randint(100, 130) - round(D_b, 2))
D_e = round(D_b + D_c - 100, 2)
D_f = D_a
D_g = str(round(D_a, 2)) + '×' + str(round(D_b, 2)) + '+' + str(round(D_c, 2)) + '×' + str(round(D_d, 2)) + '-' + str(round(D_f, 2)) + '×' + str(round(D_e, 2))
label4 = Label(calculation_window, text = D_g,font=('微软雅黑',15))
CXSC_button = Button(calculation_window, text="继续生成",command=CXSC)
CXSC_button.pack()
label1.pack()
label2.pack()
label3.pack()
label4.pack()
calculation_window.mainloop()
这里用python的两个内置库:tkinter库 与 random库,代码比较简单,好理解。
还有点小bug,望哪位大神修改修改!