Найти - Пользователи
Полная версия: Помогите! Функция def начинает работать до того как её вызывает кнопка
Начало » Центр помощи » Помогите! Функция def начинает работать до того как её вызывает кнопка
1
H0pZyk
Помогите! Функция def начинает работать до того как её вызывает кнопка

Вот сам код:

from tkinter import *
from tkinter import ttk
import random

root = Tk()
root.title(“METANIT.COM”)
root.geometry(“500x400”)

editor = Text(height=5)
editor.pack(anchor=N, fill=X)

label = ttk.Label()
label.pack(anchor=N, fill=BOTH)

print(123)
vibor = str(editor.get(“1.0”, “end”))
def game():

print(123)


chislorob = str((random.randint(1, 100)))


w = 0
while w <= 4:
if chislorob in :
quit('Случайное число является простым, поэтому перезапустите программу и надейтесь что оно не попадётся снова')
if vibor == chislorob:
quit('Ура!!! Вы победили!')
else:
editor.delete(“1.0”, END)
podvibor = str(editor.insert('1.0', ‘Вы выбрали не правильное число. Хоти те подсказку???’))

if podvibor == :
podchpr = random.randint(1, 10)
podch = str(chislorob // podchpr)
w = w + 1

if w == 3:

editor.insert(“1.0”, w)
#quit('У вас закончились жизни')

button = ttk.Button(text=“ввести”, command=game())
button.pack(side=BOTTOM)

root.mainloop()
ZerG
 command=game
без кавычек и оберните текст в тег код
AlanPickett
Проблема заключается в том, что функция game() вызывается сразу после создания кнопки, а не при её нажатии. В строке button = ttk.Button(text=“ввести”, command=game()) вы вызываете функцию game() с помощью скобок, поэтому она вызывается сразу при создании кнопки. Вместо этого вам нужно передать ссылку на функцию game в качестве аргумента command без скобок:
 button = ttk.Button(text=“ввести”, command=game)
Таким образом, функция game будет вызываться только при нажатии на кнопку.
pizza tower
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB