Когда открывается окно программы - текста нет вообще. Вводим, допустим, “2”. Получаем ответ положительный или отрицательный (не важно) под полем ввода. Над полем ввода появляется пример. Ответ на который мы дали.
Я не понимаю - как сделать так, что бы сперва появлялся пример, потом уже вводить ответ.
Пробовал запускать сперва функцию с рандомом и выводом, а потом уже функцию ввода ответа и его оценки. Но тогда он этот рандом вычисляет два раза. Ну и плюс при запуске программы поле с вопросом чистое. Ну это то ладно. Там кнопка “Проверка!” может выступить в роле кнопки “Начать!”. Это-то решимо, хотя хотелось бы знать решение, которое позволит вывести пример при запуске и потом уже выводить новые только после ввода ответа и клика по Enter.
Может нужен цикл? Пробовал, но ни чего не вышло.
До этого писал этот же скрипт (прошлое задание), но без графического интерфейса. всё вышло хорошо…
Собственно сам скрипт:
#!/usr/bin/ python3 # coding:utf8 from tkinter import * import random import time #+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= #=+=+=+=+=+=+=+=+= Ф У Н К Ц И И +=+=+=+=+=+=+=+= #+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= def ext(event): print('Проверка!') def close_win(event): root.destroy() def print_1(): label2.configure(text = 'Поздравляю!') def print_2(): label2.configure(text = 'Ошибка!') def random1(): a = random.randint(0,10) b = random.randint(0,10) label1.configure(text=str(a)+' x '+str(b)+' = ') result=a*b return(result) def caption(event): result = random1() t = entry1.get() if result == int(t): label2.configure(text = print_1()) else: label2.configure(text = print_2()) #+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= #+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= #+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= root = Tk() # Создаём главное окно frame1=Frame(root,bd=1) frame4=Frame(root,bd=1, width=50) frame5=Frame(root,bd=1) frame2=Frame(root,bd=1) frame3=Frame(frame2,bd=1,width=50) label2 = Label(frame5,width=40,height=5,fg='black',font='arial 12') label1 = Label(frame1,width=50,height=5,fg='black',font='arialblack 18') button1=Button(frame2,text='Выход',width=7,height=1,bg='lightgray',fg='black',font='arial 14') button2=Button(frame2,text='Проверка!',width=7,height=1,bg='lightgray',fg='black',font='arial 14') entry1 = Entry(frame4, width=12,font='Arial 14') #label1.bind('a', random1) entry1.bind('<Return>', caption) button1.bind('<Button-1>', close_win) root.bind('q', close_win) button2.bind('<Button-1>', ext) root.bind('z', ext) label1.pack() label2.pack() button1.pack(side='left') button2.pack(side='right') entry1.pack() frame1.pack() frame4.pack() frame5.pack() frame2.pack() frame3.pack(side='bottom') root.mainloop() # Завершение