Mundo em Python

Grupos do Mundial (Países por Grupo e Siglas)

import tkinter as tk

# Dados: Grupos -> Países
Grupos = {
"Grupo A": ["México", "África do Sul", "Coreia do Sul","República Checa"],
"Grupo B": ["Canadá", "Bósnia e Herzegovina", "Catar","Suíça"],
"Grupo C": ["Brasil", "Marrocos", "Haiti","Escócia"],
"Grupo D": ["Estados Unidos", "Paraguai", "Austrália","Turquia"],
"Grupo E": ["Alemanha", "Curaçao", "Costa do Marfim","Equador"],
"Grupo F": ["Países Baixos", "Japão", "Suécia","Tunísia"],
"Grupo G": ["Bélgica", "Egito", "Irão","Nova Zelândia"],
"Grupo H": ["Espanha", "Cabo Verde", "Arábia Saudita","Uruguai"],
"Grupo I": ["França", "Senegal", "Iraque","Noruega"],
"Grupo J": ["Argentina", "Argélia", "Áustria","Jordânia"],
"Grupo K": ["Portugal", "Congo", "Uzbequistão","Colômbia"],
"Grupo L": ["Inglaterra", "Croácia", "Gana","Panamá"]
} # siglas oficial e de televisão
siglas = {
"México": "ISO alfa-2: MX ISO alfa-3: MEX Sigla TV/desporto: MEX",
"África do Sul": "ISO alfa-2: ZA ISO alfa-3: ZAF Sigla TV/desporto: RSA",
"Coreia do Sul": "ISO alfa-2: KR ISO alfa-3: KOR Sigla TV/desporto: KOR",
"República Checa": "ISO alfa-2: CZ ISO alfa-3: CZE Sigla TV/desporto: CZE",
"Canadá": "ISO alfa-2: CA ISO alfa-3: CAN Sigla TV/desporto: CAN",
"Bósnia e Herzegovina": "ISO alfa-2: BA ISO alfa-3: BIH Sigla TV/desporto: BIH",
"Catar": "ISO alfa-2: QA ISO alfa-3: QAT Sigla TV/desporto: QAT",
"Suíça": "ISO alfa-2: CH ISO alfa-3: CHE Sigla TV/desporto: SUI",
"Brasil": "ISO alfa-2: BR ISO alfa-3: BRA Sigla TV/desporto: BRA",
"Marrocos": "ISO alfa-2: MA ISO alfa-3: MAR Sigla TV/desporto: MAR",
"Escócia": "ISO alfa-2: GB-SCT ISO alfa-3: SCT Sigla TV/desporto: SCO",
"Haiti": "ISO alfa-2: HT ISO alfa-3: HTI Sigla TV/desporto: HAI",
"Estados Unidos": "ISO alfa-2: US ISO alfa-3: USA Sigla TV/desporto: USA",
"Paraguai": "ISO alfa-2: PY ISO alfa-3: PRY Sigla TV/desporto: PAR",
"Austrália": "ISO alfa-2: AU ISO alfa-3: AUS Sigla TV/desporto: AUS",
"Turquia": "ISO alfa-2: TR ISO alfa-3: TUR Sigla TV/desporto: TUR",
"Alemanha": "ISO alfa-2: DE ISO alfa-3: DEU Sigla TV/desporto: GER",
"Curaçao": "ISO alfa-2: CW ISO alfa-3: CUW Sigla TV/desporto: CUW",
"Costa do Marfim": "ISO alfa-2: CI ISO alfa-3: CIV Sigla TV/desporto: CIV",
"Equador": "ISO alfa-2: EC ISO alfa-3: ECU Sigla TV/desporto: ECU",
"Países Baixos": "ISO alfa-2: NL ISO alfa-3: NLD Sigla TV/desporto: NED",
"Japão": "ISO alfa-2: JP ISO alfa-3: JPN Sigla TV/desporto: JPN",
"Suécia": "ISO alfa-2: SE ISO alfa-3: SWE Sigla TV/desporto: SWE",
"Tunísia": "ISO alfa-2: TN ISO alfa-3: TUN Sigla TV/desporto: TUN",
"Bélgica": "ISO alfa-2: BE ISO alfa-3: BEL Sigla TV/desporto: BEL",
"Egito": "ISO alfa-2: EG ISO alfa-3: EGY Sigla TV/desporto: EGY",
"Irão": "ISO alfa-2: IR ISO alfa-3: IRN Sigla TV/desporto: IRN",
"Nova Zelândia": "ISO alfa-2: NZ ISO alfa-3: NZL Sigla TV/desporto: NZL",
"Espanha": "ISO alfa-2: ES ISO alfa-3: ESP Sigla TV/desporto: ESP",
"Cabo Verde": "ISO alfa-2: CV ISO alfa-3: CPV Sigla TV/desporto: CPV",
"Arábia Saudita": "ISO alfa-2: SA ISO alfa-3: SAU Sigla TV/desporto: KSA",
"Uruguai": "ISO alfa-2: UY ISO alfa-3: URY Sigla TV/desporto: URU",
"França": "ISO alfa-2: FR ISO alfa-3: FRA Sigla TV/desporto: FRA",
"Senegal": "ISO alfa-2: SN ISO alfa-3: SEN Sigla TV/desporto: SEN",
"Iraque": "ISO alfa-2: IQ ISO alfa-3: IRQ Sigla TV/desporto: IRQ",
"Noruega": "ISO alfa-2: NO ISO alfa-3: NOR Sigla TV/desporto: NOR",
"Argentina": "ISO alfa-2: AR ISO alfa-3: ARG Sigla TV/desporto: ARG",
"Argélia": "ISO alfa-2: DZ ISO alfa-3: DZA Sigla TV/desporto: ALG",
"Áustria": "ISO alfa-2: AT ISO alfa-3: AUT Sigla TV/desporto: AUT",
"Jordânia": "ISO alfa-2: JO ISO alfa-3: JOR Sigla TV/desporto: JOR",
"Portugal": "ISO alfa-2: PT ISO alfa-3: PRT Sigla TV/desporto: POR",
"Congo": "ISO alfa-2: CG ISO alfa-3: COG Sigla TV/desporto: CGO",
"Uzbequistão": "ISO alfa-2: UZ ISO alfa-3: UZB Sigla TV/desporto: UZB",
"Colômbia": "ISO alfa-2: CO ISO alfa-3: COL Sigla TV/desporto: COL",
"Inglaterra": "ISO alfa-2: GB-ENG ISO alfa-3: ENG Sigla TV/desporto: ENG",
"Croácia": "ISO alfa-2: HR ISO alfa-3: HRV Sigla TV/desporto: CRO",
"Gana": "ISO alfa-2: GH ISO alfa-3: GHA Sigla TV/desporto: GHA",
"Panamá": "ISO alfa-2: PA ISO alfa-3: PAN Sigla TV/desporto: PAN"
} def atualizar_paises(*args):
grupo = grupos_var.get() menu = pais_menu["menu"]
menu.delete(0, "end") novos_paises = Grupos.get(grupo, []) if novos_paises:
pais_var.set(novos_paises[0]) for pais in novos_paises:
menu.add_command(
label=pais,
command=lambda p=pais: pais_var.set(p)
) atualizar_sigla() def atualizar_sigla(*args):
pais = pais_var.get()
info = siglas.get(pais, "Desconhecido")
label_sigla.config(text=f"Siglas: {info}") root = tk.Tk()
root.title("Grupos do Mundial") # Variáveis
grupos_var = tk.StringVar(value="Grupo A")
pais_var = tk.StringVar() # Escolher grupo
tk.Label(root, text="Grupo").pack()
grupos_menu = tk.OptionMenu(root, grupos_var, *Grupos.keys())
grupos_menu.pack() # Escolher país
tk.Label(root, text="País").pack()
pais_menu = tk.OptionMenu(root, pais_var, "")
pais_menu.pack() # Label info
label_sigla = tk.Label(root, text="Siglas:")
label_sigla.pack(pady=10) # Eventos
grupos_var.trace_add("write", atualizar_paises)
pais_var.trace_add("write", atualizar_sigla) # Inicializar
atualizar_paises() root.mainloop()
0