from tkinter import *
from collections import defaultdict
# Lista de vencedores da Bola de Ouro (1956–2024)
bola_de_ouro = [
{"Ano": 2024, "Jogador": "Rodri", "País": "Espanha", "Clube": "Manchester City"},
{"Ano": 2023, "Jogador": "Lionel Messi", "País": "Argentina", "Clube": "Inter Miami"},
{"Ano": 2022, "Jogador": "Karim Benzema", "País": "França", "Clube": "Real Madrid"},
{"Ano": 2021, "Jogador": "Lionel Messi", "País": "Argentina", "Clube": "Paris Saint-Germain"},
{"Ano": 2020, "Jogador": "(Cancelado)", "País": "-", "Clube": "-"},
{"Ano": 2019, "Jogador": "Lionel Messi", "País": "Argentina", "Clube": "Barcelona"},
{"Ano": 2018, "Jogador": "Luka Modrić", "País": "Croácia", "Clube": "Real Madrid"},
{"Ano": 2017, "Jogador": "Cristiano Ronaldo", "País": "Portugal", "Clube": "Real Madrid"},
{"Ano": 2016, "Jogador": "Cristiano Ronaldo", "País": "Portugal", "Clube": "Real Madrid"},
{"Ano": 2015, "Jogador": "Lionel Messi", "País": "Argentina", "Clube": "Barcelona"},
{"Ano": 2014, "Jogador": "Cristiano Ronaldo", "País": "Portugal", "Clube": "Real Madrid"},
{"Ano": 2013, "Jogador": "Cristiano Ronaldo", "País": "Portugal", "Clube": "Real Madrid"},
{"Ano": 2012, "Jogador": "Lionel Messi", "País": "Argentina", "Clube": "Barcelona"},
{"Ano": 2011, "Jogador": "Lionel Messi", "País": "Argentina", "Clube": "Barcelona"},
{"Ano": 2010, "Jogador": "Lionel Messi", "País": "Argentina", "Clube": "Barcelona"},
{"Ano": 2009, "Jogador": "Lionel Messi", "País": "Argentina", "Clube": "Barcelona"},
{"Ano": 2008, "Jogador": "Cristiano Ronaldo", "País": "Portugal", "Clube": "Manchester United"},
{"Ano": 2007, "Jogador": "Kaká", "País": "Brasil", "Clube": "Milan"},
{"Ano": 2006, "Jogador": "Fabio Cannavaro", "País": "Itália", "Clube": "Real Madrid"},
{"Ano": 2005, "Jogador": "Ronaldinho", "País": "Brasil", "Clube": "Barcelona"},
{"Ano": 2004, "Jogador": "Andriy Shevchenko", "País": "Ucrânia", "Clube": "Milan"},
{"Ano": 2003, "Jogador": "Pavel Nedvěd", "País": "Chéquia", "Clube": "Juventus"},
{"Ano": 2002, "Jogador": "Ronaldo", "País": "Brasil", "Clube": "Real Madrid"},
{"Ano": 2001, "Jogador": "Michael Owen", "País": "Inglaterra", "Clube": "Liverpool"},
{"Ano": 2000, "Jogador": "Luís Figo", "País": "Portugal", "Clube": "Real Madrid"},
{"Ano": 1999, "Jogador": "Rivaldo", "País": "Brasil", "Clube": "Barcelona"},
{"Ano": 1998, "Jogador": "Zinédine Zidane", "País": "França", "Clube": "Juventus"},
{"Ano": 1997, "Jogador": "Ronaldo", "País": "Brasil", "Clube": "Inter de Milão"},
{"Ano": 1996, "Jogador": "Matthias Sammer", "País": "Alemanha", "Clube": "Borussia Dortmund"},
{"Ano": 1995, "Jogador": "George Weah", "País": "Libéria", "Clube": "Milan"},
{"Ano": 1994, "Jogador": "Hristo Stoichkov", "País": "Bulgária", "Clube": "Barcelona"},
{"Ano": 1993, "Jogador": "Roberto Baggio", "País": "Itália", "Clube": "Juventus"},
{"Ano": 1992, "Jogador": "Marco van Basten", "País": "Países Baixos", "Clube": "Milan"},
{"Ano": 1991, "Jogador": "Jean‑Pierre Papin", "País": "França", "Clube": "Marselha"},
{"Ano": 1990, "Jogador": "Lothar Matthäus", "País": "Alemanha", "Clube": "Inter de Milão"},
{"Ano": 1989, "Jogador": "Marco van Basten", "País": "Países Baixos", "Clube": "Milan"},
{"Ano": 1988, "Jogador": "Marco van Basten", "País": "Países Baixos", "Clube": "Milan"},
{"Ano": 1987, "Jogador": "Ruud Gullit", "País": "Países Baixos", "Clube": "Milan"},
{"Ano": 1986, "Jogador": "Igor Belanov", "País": "União Soviética", "Clube": "Dínamo Kiev"},
{"Ano": 1985, "Jogador": "Michel Platini", "País": "França", "Clube": "Juventus"},
{"Ano": 1984, "Jogador": "Michel Platini", "País": "França", "Clube": "Juventus"},
{"Ano": 1983, "Jogador": "Michel Platini", "País": "França", "Clube": "Juventus"},
{"Ano": 1982, "Jogador": "Paolo Rossi", "País": "Itália", "Clube": "Juventus"},
{"Ano": 1981, "Jogador": "Karl‑Heinz Rummenigge", "País": "Alemanha Ocidental", "Clube": "Bayern Munique"},
{"Ano": 1980, "Jogador": "Karl‑Heinz Rummenigge", "País": "Alemanha Ocidental", "Clube": "Bayern Munique"},
{"Ano": 1979, "Jogador": "Kevin Keegan", "País": "Inglaterra", "Clube": "Hamburger SV"},
{"Ano": 1978, "Jogador": "Kevin Keegan", "País": "Inglaterra", "Clube": "Hamburger SV"},
{"Ano": 1977, "Jogador": "Allan Simonsen", "País": "Dinamarca", "Clube": "Borussia Mönchengladbach"},
{"Ano": 1976, "Jogador": "Franz Beckenbauer", "País": "Alemanha Ocidental", "Clube": "Bayern Munique"},
{"Ano": 1975, "Jogador": "Oleg Blokhin", "País": "União Soviética", "Clube": "Dínamo Kiev"},
{"Ano": 1974, "Jogador": "Johan Cruyff", "País": "Países Baixos", "Clube": "Barcelona"},
{"Ano": 1973, "Jogador": "Johan Cruyff", "País": "Países Baixos", "Clube": "Barcelona"},
{"Ano": 1972, "Jogador": "Franz Beckenbauer", "País": "Alemanha Ocidental", "Clube": "Bayern Munique"},
{"Ano": 1971, "Jogador": "Johan Cruyff", "País": "Países Baixos", "Clube": "Ajax"},
{"Ano": 1970, "Jogador": "Gerd Müller", "País": "Alemanha Ocidental", "Clube": "Bayern Munique"},
{"Ano": 1969, "Jogador": "Gianni Rivera", "País": "Itália", "Clube": "Milan"},
{"Ano": 1968, "Jogador": "George Best", "País": "Irlanda do Norte", "Clube": "Manchester United"},
{"Ano": 1967, "Jogador": "Flórián Albert", "País": "Hungria", "Clube": "Ferencváros"},
{"Ano": 1966, "Jogador": "Bobby Charlton", "País": "Inglaterra", "Clube": "Manchester United"},
{"Ano": 1965, "Jogador": "Eusébio", "País": "Portugal", "Clube": "Benfica"},
{"Ano": 1964, "Jogador": "Denis Law", "País": "Escócia", "Clube": "Manchester United"},
{"Ano": 1963, "Jogador": "Lev Yashin", "País": "União Soviética", "Clube": "Dínamo Moscovo"},
{"Ano": 1962, "Jogador": "Josef Masopust", "País": "Checoslováquia", "Clube": "Dukla Praga"},
{"Ano": 1961, "Jogador": "Omar Sívori", "País": "Itália", "Clube": "Juventus"},
{"Ano": 1960, "Jogador": "Luis Suárez", "País": "Espanha", "Clube": "Barcelona"},
{"Ano": 1959, "Jogador": "Alfredo Di Stéfano", "País": "Argentina/Espanha", "Clube": "Real Madrid"},
{"Ano": 1958, "Jogador": "Raymond Kopa", "País": "França", "Clube": "Real Madrid"},
{"Ano": 1957, "Jogador": "Alfredo Di Stéfano", "País": "Argentina/Espanha", "Clube": "Real Madrid"},
{"Ano": 1956, "Jogador": "Stanley Matthews", "País": "Inglaterra", "Clube": "Blackpool"},
]
# Contar prémios por jogador
trofeus = defaultdict(list)
for jogador in bola_de_ouro:
if jogador["Jogador"] not in ["(Cancelado)"]:
trofeus[jogador["Jogador"]].append(jogador["Ano"])
# GUI
root = Tk()
root.geometry("500x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Prémio Bola de Ouro")
Label(text="Prémio Bola de Ouro", font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3").place(relx=0.1, rely=0.05)
Label(text="Ano :", font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3").place(relx=0.2, rely=0.25)
# Dropdown
var = StringVar()
anos = sorted([str(j["Ano"]) for j in bola_de_ouro])
dropdown = OptionMenu(root, var, *anos)
var.set(anos[0])
dropdown.place(relx=0.45, rely=0.26, relwidth=0.5)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 17, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 15, "bold"))
def limpar():
resultado_texto.config(text="")
def app():
ano_escolhido = int(var.get())
for jogador in bola_de_ouro:
if jogador["Ano"] == ano_escolhido:
nome = jogador["Jogador"]
mensagem = f"Ano: {jogador['Ano']}\n" \
f"Jogador: {nome}\n" \
f"País: {jogador['País']}\n" \
f"Clube na época: {jogador['Clube']}"
if nome in trofeus:
total = len(trofeus[nome])
anos = ", ".join(str(a) for a in sorted(trofeus[nome]))
mensagem += f"\nTotal de Bolas de Ouro: {total}\nAnos: {anos}"
resultado_texto.config(text=mensagem)
return
resultado_texto.config(text="Ano não encontrado.")
Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app).place(relx=0.1, rely=0.45, relwidth=0.25, relheight=0.1)
Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar).place(relx=0.4, rely=0.45, relwidth=0.25, relheight=0.1)
Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy).place(relx=0.7, rely=0.45, relwidth=0.25, relheight=0.1)
resultado_texto = Label(text="", font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.57, relwidth=0.9, relheight=0.4)
root.mainloop()
Comentários
Enviar um comentário