@Arwonk

Что за ошибка в генераторе чисел?

Всем привет, я только сейчас зарегистрировался на тостере, и хочу что попросить у опытных людей помощи.
У меня есть рабочий генератор случайных чисел, вот его код :
from tkinter import *
import random
h = random.randint(1,100)
r = str(h)
tk = Tk()
b = Button(text = "Сгенерировать")
l = Label (width = 20, bg = 'black', fg = "white")
def randomiz(event):
    l["text"]=' '.join(r)
b.bind ("<Button-1>", randomiz)
b.pack()
l.pack()
tk.mainloop()

Но есть проблема, кнопку " Сгенерировать"я могу нажать только один раз - после, значение не меняется, т.к рандоиное число снегерировалось заранее и не зацикливается.

Я попробовал засунуть функцию рандом в def, получилось вот так:

from tkinter import *
import random
tk = Tk()
b = Button(text = "Сгенерировать")
l = Label (width = 20, bg = 'black', fg = "white")
def randomize(event):
	r = random.randint(1,100)
	s = str(r)
        l["text"] = "".join(s)
b.bind ("<Button-1>", randomize)
b.pack()
l.pack()
tk.mainloop()


Но теперь выдаёт ошибку в 9 строке (l["text"] = "".join(s)), почему так?
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 2
usdglander
@usdglander
Yipee-ki-yay
random.randint(1,100)
Должен вызывать только один раз за весь процесс.
Ответ написан
Но теперь выдаёт ошибку в 9 строке (l["text"] = "".join(s)), почему так?

Потому что там лишний отступ
from tkinter import *
import random
tk = Tk()
b = Button(text = "Сгенерировать")
l = Label (width = 20, bg = 'black', fg = "white")
def randomize(event):
    r = random.randint(1,100)
    s = str(r)
    l["text"] = "".join(s)
b.bind ("<Button-1>", randomize)
b.pack()
l.pack()
tk.mainloop()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы