Mundo em Python

Liga Europa - Campeões (Por Clubes)

from tkinter import *
campeoes_europa_league = {
"Sevilla": {"pais": "Espanha", "titulos": 7, "anos": [2006, 2007, 2014, 2015, 2016, 2020, 2023]},
"Inter de Milão": {"pais": "Itália", "titulos": 3, "anos": [1991, 1994, 1998]},
"Juventus": {"pais": "Itália", "titulos": 3, "anos": [1977, 1990, 1993]},
"Liverpool": {"pais": "Inglaterra", "titulos": 3, "anos": [1973, 1976, 2001]},
"Atlético de Madrid": {"pais": "Espanha", "titulos": 3, "anos": [2010, 2012, 2018]},
"Borussia Mönchengladbach": {"pais": "Alemanha", "titulos": 2, "anos": [1975, 1979]},
"Feyenoord": {"pais": "Países Baixos", "titulos": 2, "anos": [1974, 2002]},
"Porto": {"pais": "Portugal", "titulos": 2, "anos": [2003, 2011]},
"Chelsea": {"pais": "Inglaterra", "titulos": 2, "anos": [2013, 2019]},
"Eintracht Frankfurt": {"pais": "Alemanha", "titulos": 2, "anos": [1980, 2022]},
"Parma": {"pais": "Itália", "titulos": 2, "anos": [1995, 1999]},
"Tottenham": {"pais": "Inglaterra", "titulos": 2, "anos": [1972, 1984]},
"IFK Göteborg": {"pais": "Suécia", "titulos": 2, "anos": [1982, 1987]},
"Galatasaray": {"pais": "Turquia", "titulos": 1, "anos": [2000]},
"CSKA Moscovo": {"pais": "Rússia", "titulos": 1, "anos": [2005]},
"Zenit": {"pais": "Rússia", "titulos": 1, "anos": [2008]},
"Shakhtar Donetsk": {"pais": "Ucrânia", "titulos": 1, "anos": [2009]},
"Villarreal": {"pais": "Espanha", "titulos": 1, "anos": [2021]},
"Manchester United": {"pais": "Inglaterra", "titulos": 1, "anos": [2017]},
} lista_clubes = sorted(campeoes_europa_league.keys())
lista_paises = sorted(set(d["pais"] for d in campeoes_europa_league.values())) root = Tk()
root.geometry("700x500")
root.resizable(0, 0)
root.config(bg="#1d1f3c")
root.title("Liga Europa - Campeões") Label(root, text="Liga Europa", font=("Arial", 30, "bold"), bg="#1d1f3c", fg="#ffcc00").pack(pady=15) frame = Frame(root, bg="#1d1f3c")
frame.pack() Label(frame, text="Escolha um clube:", font=("Arial", 16), bg="#1d1f3c", fg="white").grid(row=0, column=0, padx=10)
var_clube = StringVar()
var_clube.set(lista_clubes[0])
dropdown_clubes = OptionMenu(frame, var_clube, *lista_clubes)
dropdown_clubes.config(font=("Arial", 14), background='#2b72ff', foreground="white")
dropdown_clubes.grid(row=0, column=1) Label(frame, text="Escolha um país:", font=("Arial", 16), bg="#1d1f3c", fg="white").grid(row=1, column=0, padx=10, pady=10)
var_pais = StringVar()
var_pais.set(lista_paises[0])
dropdown_paises = OptionMenu(frame, var_pais, *lista_paises)
dropdown_paises.config(font=("Arial", 14), background='#2b72ff', foreground="white")
dropdown_paises.grid(row=1, column=1) resultado = Label(
root, text="", justify=LEFT, anchor="w", font=("Arial", 14),
bg="#1d1f3c", fg="white", wraplength=650
)
resultado.pack(padx=20, pady=20, fill=BOTH) def mostrar_info_clube(*args):
clube = var_clube.get()
dados = campeoes_europa_league.get(clube)
if dados:
info = f"[{clube}]\n"
info += f"País: {dados['pais']}\n"
info += f"Títulos: {dados['titulos']}\n"
info += f"Anos: {', '.join(str(ano) for ano in dados['anos'])}"
else:
info = "Clube não encontrado."
resultado.config(text=info) def mostrar_info_pais(*args):
pais = var_pais.get()
clubes_do_pais = {clube: dados for clube, dados in campeoes_europa_league.items() if dados["pais"] == pais}
total = sum(d["titulos"] for d in clubes_do_pais.values())
info = f"[{pais}]\n"
info += f"Total de Títulos: {total}\n\n"
for clube, dados in sorted(clubes_do_pais.items(), key=lambda x: -x[1]["titulos"]):
info += f"- {clube}: {dados['titulos']} título(s)\n"
resultado.config(text=info) var_clube.trace_add("write", mostrar_info_clube)
var_pais.trace_add("write", mostrar_info_pais) mostrar_info_clube()
root.mainloop()
0