Как собрать эти функции в едино?
Всем привет! Недавно начала изучать модуль tkinter и при написании мини игры я встал в тупик. Дело в том что я не понимаю как сначала выбрать категорию, а потом использовать его для игры(висилица). Найти случайное слово то я могу, но для этого нужно под каждую функцию написать интерфейс и прохождение игры, а как известно-это доставляет сильное раздражение для глаз. Помогите пожалуйста
import random
from tkinter import *
import time
import os
import sys
root=Tk()
root.title('Deadman')
root.geometry('300x150')
def deadsport(event):
sport_words=['футбол','волейбол','баскетбол','аут','крикет']
random.choice(sport_words)
def deadtele(event):
tele_words=['карусель','тнт','стс','дисней']
random.choice(tele_words)
def deadvideogames(event):
videogames_words=['roblox','fornite','warface','dota']
random.choice(videogames_words)
def dead_game_start(event): #Запуск игры
btn_start.destroy()
vibor_kategory=Label(root,text='Выберите категорию слов:',font=15)
vibor_kategory.pack(fill='both')
slova_sport=Button(root,text='Спорт')
slova_sport.bind("<Button-2>",deadsport)
slova_sport.pack(fill='both')
slova_tele = Button(root, text='Телеканалы')
slova_tele.bind("<Button-3>", deadtele)
slova_tele.pack(fill='both')
slova_video_games = Button(root, text='Игры')
slova_video_games.bind("<Button-4>", deadvideogames)
slova_video_games.pack(fill='both')
btn_start=Button(root,
text='Играть',
width=30,height=10,
bg='white',fg='black',)
btn_start.bind("<Button-1>", dead_game_start)
btn_start.pack(fill='both')
root.mainloop()
Ответы (1 шт):
Автор решения: Швеев Алексей
→ Ссылка
Просто создаёшь словарь из списков:
themes = {
"sport": ['футбол','волейбол','баскетбол','аут','крикет'],
"tele": ['карусель','тнт','стс','дисней'],
"videogames": ['roblox','fornite','warface','dota']
}
Теперь можно получить список слов просто напрямую обратившись к нему по имени:
words = themes["tele"] # ['карусель','тнт','стс','дисней']
Ну и выбрать случайное слово:
word = random.choice(words)
При этом можно так же выбрать рандомную тему:
random_theme = random.choice(list(a.items())) # ("имя темы", ["слова"])
theme_name = random_theme[0] # имя темы
words = random_theme[1] # ["слова"]
word = random.choice(words) # "случайное слово"