Каждый раз число меняется

Alen

Новичок
Пользователь
Авг 20, 2020
7
0
1
from tkinter import*
import random
class Application(Frame):
def __init__(self,master):
super(Application,self).__init__(master)
self.grid()
self.create_widgets()

def create_widgets(self):

Label(self,
text="Попробуй угадать число"
).grid(row=1,column=0,sticky =W)
Label(self,
text="ваше число"
).grid(row=2,column=0,sticky=W)
self.number_ent = Entry(self)
self.number_ent.grid(row=2,column=1,sticky=W)

Button(self,
text="Проверить число",
command = self.check_number
).grid(row=3,column=0,sticky=W)
self.sq = Text(self, width = 100, height = 10,wrap=WORD)
self.sq.grid(row=4,column=0,columnspan=3)



def check_number(self):
the_number = random.randint(1,100)
tries = 1
guess = int(self.number_ent.get())
if guess == the_number:
x = "Good job, you get it for ", tries,"tries"
self.sq.insert(0.0,x)
elif guess > the_number:
x = "less\n"
tries +=1
self.sq.insert(0.0,x)
elif guess < the_number:
x = "more\n"
tries +=1
self.sq.insert(0.0,x)


root = Tk()
root.title("Try to guess")
app = Application(root)
root.mainloop()
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
"Каждый раз число меняется" и стена кода.
Ну, и что?
 

Alen

Новичок
Пользователь
Авг 20, 2020
7
0
1
"Каждый раз число меняется" и стена кода.
Ну, и что?
Типо я ввожу число 43
спамлю кнопку проверить и мне выдает то больше то меньше
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Типо я ввожу число 43
спамлю кнопку проверить и мне выдает то больше то меньше
Классно, а вопрос-то в чем?
 

Alen

Новичок
Пользователь
Авг 20, 2020
7
0
1
Классно, а вопрос-то в чем?
Как сделать чтобы число было одним
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
the_number = random.randint(1,100)
Эту строку нужно перенести из функции check_number, которая вызывается каждый раз.
 

Alen

Новичок
Пользователь
Авг 20, 2020
7
0
1
Эту строку нужно перенести из функции check_number, которая вызывается каждый раз.
я переношу в любое место но теперь мне пишет типо the_number нет, как мне правильно сделать нужно
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
я переношу в любое место но теперь мне пишет типо the_number нет, как мне правильно сделать нужно
Нужно в месте, где программа начинает работать (создается окно) создать эту переменную, и записать ее как атрибут класса. В нужном обработчике обращаться к этому атрибуту.
 

Alen

Новичок
Пользователь
Авг 20, 2020
7
0
1
Нужно в месте, где программа начинает работать (создается окно) создать эту переменную, и записать ее как атрибут класса. В нужном обработчике обращаться к этому атрибуту.
я перенес в create_widgets, а как потом обратится к the_number в check_number?
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
я перенес в create_widgets, а как потом обратится к the_number в check_number?
self.the_number, как и к любому другому атрибуту класса.
 

Форум IT Специалистов