Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 24.06.2019
Сообщений: 27

Как ограничить свободу пользователя :)

24.06.2019, 02:38. Показов 2772. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Есть задача:
- Напишите программу, которая отображает случайное слово на русском языке (тип данных dict).
- Пользователь пытается угадать его на английском (или другом языке).
- Дополнительно ограничить работу программы по числу неправильно угаданных слов.

Разобрался со всем, кроме последнего пункта, а именно - ограничить работу программы.
Мое 'творение':

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import tkinter
import random
 
# >>>словарь слов<<<
d = {'кот': 'cat', 'собака': 'dog', 'слон': 'elephant', 'машина': 'car', 'дерево': 'three', 'дом': 'house'}
r = random.choice(list(d.keys()))
 
# >>>окно<<<
window = tkinter.Tk()
window.geometry('200x190')  
 
# >>>счетчик попыток<<<
counter = tkinter.IntVar()  # IntVar 
counter.set(3)  
 
# >>>контроллеры для кнопок 'Проверка' и 'Выход'<<<
def click():
    answer = d.get(r)
    if entry.get() == answer:
        result = 'Верно!'
        label_result.config(text=result)
    elif entry.get() != answer:
        result = 'Не верно!'
        label_result.config(text=result)
        counter.set(counter.get() - 1)  # счетчик -1
        if counter.get() == 0:
            result = 'Попытки исчерпаны'
            label_result.config(text=result)
 
def quit():
    window.quit()
 
# >>>фреймы<<<
frame_name = tkinter.Frame(window)
frame_name.pack()
frame_question = tkinter.Frame(window)
frame_question.pack()
frame_eng = tkinter.Frame(window)
frame_eng.pack()
frame_result = tkinter.Frame(window)
frame_result.pack()
frame_pop = tkinter.Frame(window)
frame_pop.pack()
frame_counter = tkinter.Frame(window)
frame_counter.pack()
frame_butn = tkinter.Frame(window)
frame_butn.pack()
frame_quit = tkinter.Frame(window)
frame_quit.pack()
 
# >>>виджеты<<<
label_name = tkinter.Label(frame_name, text='Угадай слово на английском:')
label_name.pack()
label_question = tkinter.Label(frame_question, text=r)
label_question.pack()
entry = tkinter.Entry(frame_eng)
entry.pack()
label_result = tkinter.Label(frame_result)
label_result.pack()
label_pop = tkinter.Label(frame_pop, text='попыток осталось:')
label_pop.pack()
label_counter = tkinter.Label(frame_counter, textvariable=counter)
label_counter.pack()
 
# >>>кнопки<<<
button = tkinter.Button(frame_butn, text='Проверка', command=click, background="#555", foreground="#ccc")
button.pack()
button = tkinter.Button(frame_quit, text='Выход', command=quit, background="#555", foreground="#ccc")
button.pack()
 
window.mainloop()

Есть устойчивая мысль сделать кнопу 'Проверить' неактивной по истечении срока годности( попытки = 0),
но как это сделать для меня загадка... поделитесь, пожалуйста, мудростью
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.06.2019, 02:38
Ответы с готовыми решениями:

Как ограничить пользователя
Пользователь на сайте может задавать вопросы, как анонимные так и нет. Как можно ограничить пользователя на 10 вопросов в 10 минут. Т.е...

Как ограничить страницы от пользователя
Например есть страница &quot;page.php&quot; и пользователь не может на нее перейти пока не авторизуется например. Как ограничить страницы от...

Как ограничить права пользователя
Добрый день! Есть ли в Win 8.1 возможность настроить права пользователя (не админа), а именно: - Разрешить запускать только...

2
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,300
24.06.2019, 07:29
Лучший ответ Сообщение было отмечено Lestar039 как решение

Решение

Переименуйте кнопку, чтобы имя переменной было уникальным

Python
1
button_check['state'] = 'disabled'
1
0 / 0 / 0
Регистрация: 24.06.2019
Сообщений: 27
24.06.2019, 13:30  [ТС]
большущее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.06.2019, 13:30
Помогаю со студенческими работами здесь

Как ограничить возможности пользователя в CentOS 6.3?
Здравствуйте! Возникла необходимость пернастроить систему под определенного пользователя (обрезать возможности): 1) Убрать панель...

Как ограничить перемещение пользователя по личному кабинету?
Пожалуйста подскажите решение или &quot;где спросить&quot;? Задача: ограничить перемещение пользователя по личному кабинету вебсайта. Доступ к коду...

Как ограничить инпут пользователя через Scanner
Всё что мне нужно это ограничить инпут,чтобы пользователь не мог вводить цифры,знаки,а мог только буквы( т.е слова), как это сделать?...

Как ограничить действия пользователя в определенный момент
Доброго времени суток. Возник такой вопрос, как мне ограничить действия пользователя, к примеру у меня есть шаблон с формой которая...

Как ограничить повторные действия пользователя (через сессию, IP или еще как-то)?
Разрабатываю веб-сервис, который будет предоставлять платные услуги. Т.к. детали раскрыть нет возможности, то условно будем считать что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru