Mundo em Python

Taça da América

from tkinter import *

copa_america = {
1975: {"sede":"América do Sul","campeão":"Peru","vice_campeão":"Colômbia","terceiro_lugar":None,"quarto_lugar":None,
"estadio_final":["El Campín","Estadio Nacional","Estadio Olímpico"],"cidade_final":["Bogotá","Lima","Caracas"]},
1979: {"sede":"América do Sul","campeão":"Paraguai","vice_campeão":"Chile","terceiro_lugar":None,"quarto_lugar":None,
"estadio_final":["Defensores del Chaco","Estadio Nacional (Santiago)","José Amalfitani"],"cidade_final":["Asunción","Santiago","Buenos Aires"]},
1983: {"sede":"América do Sul","campeão":"Uruguai","vice_campeão":"Brasil","terceiro_lugar":None,"quarto_lugar":None,
"estadio_final":["Estadio Centenario","Estádio Fonte Nova"],"cidade_final":["Montevideo","Salvador"]},
1987: {"sede":"Argentina","campeão":"Uruguai","vice_campeão":"Chile","terceiro_lugar":"Colômbia","quarto_lugar":"Argentina",
"estadio_final":["Estadio Monumental"],"cidade_final":["Buenos Aires"]},
1989: {"sede":"Brasil","campeão":"Brasil","vice_campeão":"Uruguai","terceiro_lugar":"Argentina","quarto_lugar":"Paraguai",
"estadio_final":["Maracanã"],"cidade_final":["Rio de Janeiro"]},
1991: {"sede":"Chile","campeão":"Argentina","vice_campeão":"Brasil","terceiro_lugar":"Chile","quarto_lugar":"Colômbia",
"estadio_final":["Estadio Nacional Julio Martínez Prádanos"],"cidade_final":["Santiago"]},
1993: {"sede":"Equador","campeão":"Argentina","vice_campeão":"México","terceiro_lugar":"Colômbia","quarto_lugar":"Equador",
"estadio_final":["Estadio Monumental (Guayaquil)"],"cidade_final":["Guayaquil"]},
1995: {"sede":"Uruguai","campeão":"Uruguai","vice_campeão":"Brasil","terceiro_lugar":"Colômbia","quarto_lugar":"Estados Unidos",
"estadio_final":["Estadio Centenario"],"cidade_final":["Montevideo"]},
1997: {"sede":"Bolívia","campeão":"Brasil","vice_campeão":"Bolívia","terceiro_lugar":"México","quarto_lugar":"Peru",
"estadio_final":["Estadio Hernando Siles"],"cidade_final":["La Paz"]},
1999: {"sede":"Paraguai","campeão":"Brasil","vice_campeão":"Uruguai","terceiro_lugar":"México","quarto_lugar":"Chile",
"estadio_final":["Defensores del Chaco"],"cidade_final":["Asunción"]},
2001: {"sede":"Colômbia","campeão":"Colômbia","vice_campeão":"México","terceiro_lugar":"Honduras","quarto_lugar":"Uruguai",
"estadio_final":["Estadio Nemesio Camacho 'El Campín'"],"cidade_final":["Bogotá"]},
2004: {"sede":"Peru","campeão":"Brasil","vice_campeão":"Argentina","terceiro_lugar":"Uruguai","quarto_lugar":"Colômbia",
"estadio_final":["Estadio Nacional (Lima)"],"cidade_final":["Lima"]},
2007: {"sede":"Venezuela","campeão":"Brasil","vice_campeão":"Argentina","terceiro_lugar":"México","quarto_lugar":"Uruguai",
"estadio_final":["Estadio José Pachencho Romero"],"cidade_final":["Maracaibo"]},
2011: {"sede":"Argentina","campeão":"Uruguai","vice_campeão":"Paraguai","terceiro_lugar":"Peru","quarto_lugar":"Venezuela",
"estadio_final":["Estadio Monumental"],"cidade_final":["Buenos Aires"]},
2015: {"sede":"Chile","campeão":"Chile","vice_campeão":"Argentina","terceiro_lugar":"Peru","quarto_lugar":"Paraguai",
"estadio_final":["Estadio Nacional (Santiago)"],"cidade_final":["Santiago"]},
2016: {"sede":"Estados Unidos","campeão":"Chile","vice_campeão":"Argentina","terceiro_lugar":"Colômbia","quarto_lugar":"Estados Unidos",
"estadio_final":["MetLife Stadium"],"cidade_final":["East Rutherford, NJ"]},
2019: {"sede":"Brasil","campeão":"Brasil","vice_campeão":"Peru","terceiro_lugar":"Argentina","quarto_lugar":"Chile",
"estadio_final":["Maracanã"],"cidade_final":["Rio de Janeiro"]},
2021: {"sede":"Brasil","campeão":"Argentina","vice_campeão":"Brasil","terceiro_lugar":"Colômbia","quarto_lugar":"Peru",
"estadio_final":["Maracanã"],"cidade_final":["Rio de Janeiro"]},
2024: {"sede":"Estados Unidos","campeão":"Argentina","vice_campeão":"Colômbia","terceiro_lugar":"Uruguai","quarto_lugar":"Canadá",
"estadio_final":["Hard Rock Stadium"],"cidade_final":["Miami Gardens, Florida"]}
} root = Tk()
root.geometry("650x550")
root.config(bg="#103030")
root.title("Taça da América") frame = Frame(root, bg="#103030")
frame.pack(expand=True) titulo = Label(frame, text="Taça da América", font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.pack(pady=20) # Linha de seleção
linha = Frame(frame, bg="#103030")
linha.pack(pady=10) texto_ano = Label(linha, text="Ano:", font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_ano.pack(side=LEFT, padx=10) # Texto com resultados
texto_resultado = Label(frame, font=("Arial", 16), bg="#103030", fg="#49e3e3", justify="left")
texto_resultado.pack(pady=30) # --------------------------
# FUNÇÃO FADE-IN
# --------------------------
def fade_in_text(final_text, step=0):
alpha = step / 10
r, g, b = 73, 227, 227
color = f"#{int(r*alpha):02x}{int(g*alpha):02x}{int(b*alpha):02x}"
texto_resultado.config(fg=color, text=final_text)
if step < 10:
texto_resultado.after(30, lambda: fade_in_text(final_text, step+1)) # --------------------------
# FUNÇÃO MOSTRAR DADOS
# --------------------------
def mostrar_dados(*args):
ano = int(var.get())
dados = copa_america[ano] final_text = (
f"Sede: {dados['sede']}\n"
f"Campeão: {dados['campeão']}\n"
f"Vice: {dados['vice_campeão']}\n"
f"3º lugar: {dados['terceiro_lugar']}\n"
f"4º lugar: {dados['quarto_lugar']}\n"
) est_final = dados.get("estadio_final")
cidades_final = dados.get("cidade_final") if est_final and cidades_final:
finais = "\n".join(f"{est}{cid}" for est, cid in zip(est_final, cidades_final))
final_text += f"Final(es):\n{finais}"

fade_in_text(final_text) var = StringVar()
anos = list(map(str, copa_america.keys())) dropdown = OptionMenu(linha, var, *anos, command=mostrar_dados)
dropdown.config(bg="#09A3BA", fg="#FFFFFF", font=("Arial", 16, "bold"), width=10)
dropdown["menu"].config(bg="#09A3BA", fg="#FFFFFF", font=("Arial", 14, "bold"))
dropdown.pack(side=LEFT) var.set("1975")
mostrar_dados() root.mainloop()
0