import random
from tkinter import *
from tkinter import ttk
def fullprogram():
selecttypeofsign = 0
numbers1 = []
numbers2 = []
def variabletypeofsign1_2__1(): # выбор знака сверху 1 2
if selecttypeofsign == 1:
typeofsign = [numbers1[0], '+', numbers1[1]]
if selecttypeofsign == 2:
typeofsign = [numbers1[0], '-', numbers1[1]]
if selecttypeofsign == 3:
typeofsign = [numbers1[0], "*", numbers1[1]]
if selecttypeofsign == 4:
typeofsign = [numbers1[0], "/", numbers1[1]]
return typeofsign
def variabletypeofsign2_3__1(): # выбор знака сверху 2 3
if selecttypeofsign == 1:
typeofsign = ["+", numbers1[2]]
if selecttypeofsign == 2:
typeofsign = ["-", numbers1[2]]
if selecttypeofsign == 3:
typeofsign = ["*", numbers1[2]]
if selecttypeofsign == 4:
typeofsign = ["/", numbers1[2]]
return typeofsign
def variabletypeofsign1_2__2(): # выбор знака снизу 1 2
if selecttypeofsign == 1:
typeofsign = [numbers2[0], "+", numbers2[1]]
if selecttypeofsign == 2:
typeofsign = [numbers2[0], "-", numbers2[1]]
if selecttypeofsign == 3:
typeofsign = [numbers2[0], "*", numbers2[1]]
if selecttypeofsign == 4:
typeofsign = [numbers2[0], "/", numbers2[1]]
return typeofsign
def variabletypeofsign2_3__2(): # выбор знака снизу 2 3
if selecttypeofsign == 1:
typeofsign = ["+", numbers2[2]]
if selecttypeofsign == 2:
typeofsign = ["-", numbers2[2]]
if selecttypeofsign == 3:
typeofsign = ["*", numbers2[2]]
if selecttypeofsign == 4:
typeofsign = ["/", numbers2[2]]
return typeofsign
difficult = 1
if difficult == 1:
selecttypefraction = random.randint(1, 2)
if selecttypefraction == 1:
selectminitype_up = random.randint(1, 3)
selectminitype_down = random.randint(1, 3)
for x in range(selectminitype_up):
numbers1.append(random.randint(1, 100))
for x in range(selectminitype_down):
numbers2.append(random.randint(1, 100))
if selectminitype_up == 2 or selectminitype_up == 3:
if selectminitype_up == 2:
selecttypeofsign = random.randint(1, 4)
up1 = variabletypeofsign1_2__1()
else:
selecttypeofsign = random.randint(1, 4)
up1 = variabletypeofsign1_2__1()
selecttypeofsign = random.randint(1, 4)
up2 = variabletypeofsign2_3__1()
if selectminitype_down == 2 or selectminitype_down == 3:
if selectminitype_down == 2:
selecttypeofsign = random.randint(1, 4)
down1 = variabletypeofsign1_2__2()
else:
selecttypeofsign = random.randint(1, 4)
down1 = variabletypeofsign1_2__2()
selecttypeofsign = random.randint(1, 4)
down2 = variabletypeofsign2_3__2()
if selectminitype_up > 1:
if selectminitype_down > 1:
if selectminitype_up == 2:
if selectminitype_down == 2:
text = Label(tk, text=up1)
text.place(x=10, y=10)
text = Label(tk, text="———")
text.place(x=10, y=25)
text = Label(tk, text=down1)
text.place(x=11, y=40)
else:
text = Label(tk, text=up1)
text.place(x=10, y=10)
text = Label(tk, text="——————")
text.place(x=10, y=25)
text = Label(tk, text=down1)
text.place(x=11, y=40)
text = Label(tk, text=down2)
text.place(x=55, y=40)
else:
if selectminitype_down == 2:
text = Label(tk, text=up1)
text.place(x=10, y=10)
text = Label(tk, text=up2)
text.place(x=55, y=10)
text = Label(tk, text="——————")
text.place(x=10, y=25)
text = Label(tk, text=down1)
text.place(x=11, y=40)
else:
text = Label(tk, text=up1)
text.place(x=10, y=10)
text = Label(tk, text=up2)
text.place(x=55, y=10)
text = Label(tk, text="———————")
text.place(x=10, y=25)
text = Label(tk, text=down1)
text.place(x=11, y=40)
text = Label(tk, text=down2)
text.place(x=55, y=40)
else:
if selectminitype_up == 2:
text = Label(tk, text=up1)
text.place(x=10, y=10)
text = Label(tk, text="————")
text.place(x=10, y=25)
text = Label(tk, text=numbers2[0])
text.place(x=11, y=40)
else:
text = Label(tk, text=up1)
text.place(x=10, y=10)
text = Label(tk, text=up2)
text.place(x=55, y=10)
text = Label(tk, text="———————")
text.place(x=10, y=25)
text = Label(tk, text=numbers2[0])
text.place(x=11, y=40)
else: # сверху 1 число
if selectminitype_down > 1:
if selectminitype_down == 2:
text = Label(tk, text=numbers1[0])
text.place(x=11, y=10)
text = Label(tk, text="————")
text.place(x=10, y=25)
text = Label(tk, text=down1)
text.place(x=11, y=40)
else:
text = Label(tk, text=numbers1[0])
text.place(x=11, y=10)
text = Label(tk, text="——————")
text.place(x=10, y=25)
text = Label(tk, text=down1)
text.place(x=11, y=40)
text = Label(tk, text=down2)
text.place(x=55, y=40)
else:
text = Label(tk, text=numbers1[0])
text.place(x=11, y=10)
text = Label(tk, text="—")
text.place(x=10, y=25)
text = Label(tk, text=numbers2[0])
text.place(x=11, y=40)
if selecttypefraction == 2:
selectminitype_up = random.randint(1, 3)
selectminitype_down = random.randint(1, 3)
for x in range(selectminitype_up):
numbers1.append(random.randint(0, 100))
for x in range(selectminitype_down):
numbers2.append(random.randint(0, 100))
if selectminitype_up == 2 or selectminitype_up == 3:
if selectminitype_up == 2:
selecttypeofsign = random.randint(1, 4)
up1 = variabletypeofsign1_2__1()
else:
selecttypeofsign = random.randint(1, 4)
up1 = variabletypeofsign1_2__1()
selecttypeofsign = random.randint(1, 4)
up2 = variabletypeofsign2_3__1()
if selectminitype_down == 2 or selectminitype_down == 3:
if selectminitype_down == 2:
selecttypeofsign = random.randint(1, 4)
down1 = variabletypeofsign1_2__2()
else:
selecttypeofsign = random.randint(1, 4)
down1 = variabletypeofsign1_2__2()
selecttypeofsign = random.randint(1, 4)
down2 = variabletypeofsign2_3__2()
if selectminitype_up > 1:
if selectminitype_down > 1:
if selectminitype_up == 2:
if selectminitype_down == 2:
text = Label(tk, text=up1)
text.grid(column=0, row=0)
text = Label(tk, text="*")
text.grid(column=1, row=0)
text = Label(tk, text=down1)
text.grid(column=2, row=0)
else:
text = Label(tk, text=up1)
text.grid(column=0, row=0)
text = Label(tk, text="*")
text.grid(column=1, row=0)
text = Label(tk, text=down1)
text.grid(column=2, row=0)
text = Label(tk, text=down2)
text.grid(column=3, row=0)
else:
if selectminitype_down == 2:
text = Label(tk, text=up1)
text.grid(column=0, row=0)
text = Label(tk, text=up2)
text.grid(column=1, row=0)
text = Label(tk, text="*")
text.grid(column=2, row=0)
text = Label(tk, text=down1)
text.grid(column=3, row=0)
else:
text = Label(tk, text=up1)
text.grid(column=0, row=0)
text = Label(tk, text=up2)
text.grid(column=1, row=0)
text = Label(tk, text="*")
text.grid(column=2, row=0)
text = Label(tk, text=down1)
text.grid(column=3, row=0)
text = Label(tk, text=down2)
text.grid(column=4, row=0)
else:
if selectminitype_up == 2:
text = Label(tk, text=up1)
text.grid(column=0, row=0)
text = Label(tk, text="*")
text.grid(column=1, row=0)
text = Label(tk, text=numbers2[0])
text.grid(column=2, row=0)
else:
text = Label(tk, text=up1)
text.grid(column=0, row=0)
text = Label(tk, text=up2)
text.grid(column=1, row=0)
text = Label(tk, text="*")
text.grid(column=2, row=0)
text = Label(tk, text=numbers2[0])
text.grid(column=3, row=0)
else:
if selectminitype_down > 1:
if selectminitype_down == 2:
text = Label(tk, text=numbers1[0])
text.grid(column=0, row=0)
text = Label(tk, text="*")
text.grid(column=1, row=0)
text = Label(tk, text=down1)
text.grid(column=2, row=0)
else:
text = Label(tk, text=numbers1[0])
text.grid(column=0, row=0)
text = Label(tk, text="*")
text.grid(column=1, row=0)
text = Label(tk, text=down1)
text.grid(column=2, row=0)
text = Label(tk, text=down2)
text.grid(column=3, row=0)
else:
text = Label(tk, text=numbers1[0])
text.grid(column=0, row=0)
text = Label(tk, text="*")
text.grid(column=1, row=0)
text = Label(tk, text=numbers2[0])
text.grid(column=2, row=0)
def click_button():
global clicks
fullprogram()
tk = Tk()
tk.title("Генерация примеров")
tk.geometry("600x600")
btn = ttk.Button(text="Click Me", command=click_button)
btn.pack(anchor="s")
tk.mainloop()**текст, выделенный жирным шрифтом**