Mundo em Python

Taça da Liga

from tkinter import *
taca_da_liga = {
"2007-08": {"estádio": "Estádio Algarve", "vencedor": "Vitória de Setúbal", "vencido": "Sporting", "resultado": "0-0 (3-2 gp)"},
"2008-09": {"estádio": "Estádio Algarve", "vencedor": "Benfica", "vencido": "Sporting", "resultado": "1-1 (3-2 gp)"},
"2009-10": {"estádio": "Estádio Algarve", "vencedor": "Benfica", "vencido": "FC Porto", "resultado": "3-0"},
"2010-11": {"estádio": "Estádio Cidade de Coimbra", "vencedor": "Benfica", "vencido": "Paços de Ferreira", "resultado": "2-1"},
"2011-12": {"estádio": "Estádio Cidade de Coimbra", "vencedor": "Benfica", "vencido": "Gil Vicente", "resultado": "2-1"},
"2012-13": {"estádio": "Estádio Cidade de Coimbra", "vencedor": "SC Braga", "vencido": "FC Porto", "resultado": "1-0"},
"2013-14": {"estádio": "Estádio Municipal Dr. Magalhães Pessoa", "vencedor": "Benfica", "vencido": "Rio Ave", "resultado": "2-0"},
"2014-15": {"estádio": "Estádio Cidade de Coimbra", "vencedor": "Benfica", "vencido": "Marítimo", "resultado": "2-1"},
"2015-16": {"estádio": "Estádio Cidade de Coimbra", "vencedor": "Benfica", "vencido": "Marítimo", "resultado": "6-2"},
"2016-17": {"estádio": "Estádio Algarve", "vencedor": "Moreirense", "vencido": "SC Braga", "resultado": "1-0"},
"2017-18": {"estádio": "Estádio Municipal de Braga", "vencedor": "Sporting", "vencido": "Vitória de Setúbal", "resultado": "1-1 (5-4 gp)"},
"2018-19": {"estádio": "Estádio Municipal de Braga", "vencedor": "Sporting", "vencido": "FC Porto", "resultado": "1-1 (3-1 gp)"},
"2019-20": {"estádio": "Estádio Municipal de Braga", "vencedor": "SC Braga", "vencido": "FC Porto", "resultado": "1-0"},
"2020-21": {"estádio": "Estádio Municipal Dr. Magalhães Pessoa", "vencedor": "Sporting", "vencido": "SC Braga", "resultado": "1-0"},
"2021-22": {"estádio": "Estádio Municipal Dr. Magalhães Pessoa", "vencedor": "Sporting", "vencido": "Benfica", "resultado": "2-1"},
"2022-23": {"estádio": "Estádio Municipal Dr. Magalhães Pessoa", "vencedor": "FC Porto", "vencido": "Sporting", "resultado": "2-0"},
"2023-24": {"estádio": "Estádio Municipal Dr. Magalhães Pessoa", "vencedor": "SC Braga", "vencido": "Estoril", "resultado": "1-1 (5-4 gp)"},
"2024-25": {"estádio": "Estádio Municipal Dr. Magalhães Pessoa", "vencedor": "Benfica", "vencido": "Sporting", "resultado": "1-1 (7-6 gp)"},
"2025-26": {"estádio": "Estádio Municipal Dr. Magalhães Pessoa", "vencedor": "Vitória SC", "vencido": "SC Braga", "resultado": "2-1"}
} def mostrar_dados(epoca):
dados = taca_da_liga[epoca]
texto = (
f"Época: {epoca}\n\n"
f"Estádio: {dados['estádio']}\n"
f"Vencedor: {dados['vencedor']}\n"
f"Vencido: {dados['vencido']}\n"
f"Resultado: {dados['resultado']}"
)
resultado_label.config(text=texto) def pesquisar_clube():
clube = entrada_clube.get().strip().lower()
resultados = [] for epoca, dados in taca_da_liga.items():
if clube in dados["vencedor"].lower() or clube in dados["vencido"].lower():
resultados.append(
f"{epoca} | {dados['vencedor']} {dados['resultado']} {dados['vencido']}"
) if resultados:
texto = "Resultados encontrados:\n\n" + "\n".join(resultados)
else:
texto = "Nenhum resultado encontrado para esse clube."

resultado_label.config(text=texto)
root = Tk()
root.title("Taça da Liga")
root.geometry("700x500")
root.resizable(False, False)
root.configure(bg="#103030")
Label(
root, text="Taça da Liga",
font=("Arial", 28, "bold"),
bg="#103030", fg="#49e3e3"
).place(relx=0.32, rely=0.03) Label(
root, text="Escolha uma época:",
font=("Arial", 16, "bold"),
bg="#103030", fg="#49e3e3"
).place(relx=0.05, rely=0.20) epoca_var = StringVar()
epocas = list(taca_da_liga.keys()) OptionMenu(root, epoca_var, *epocas, command=mostrar_dados)\
.place(relx=0.45, rely=0.20, relwidth=0.5) epoca_var.set(epocas[0]) Label(
root, text="Pesquisar por clube:",
font=("Arial", 16, "bold"),
bg="#103030", fg="#49e3e3"
).place(relx=0.05, rely=0.32) entrada_clube = Entry(root, font=("Arial", 16))
entrada_clube.place(relx=0.45, rely=0.32, relwidth=0.3) Button(
root, text="Pesquisar",
font=("Arial", 14, "bold"),
bg="#09A3BA", fg="white",
command=pesquisar_clube
).place(relx=0.77, rely=0.32)
resultado_label = Label(
root, bg="#cfe2f3",
font=("Arial", 12, "bold"),
justify=LEFT, anchor="nw",
padx=10, pady=10
)
resultado_label.place(relx=0.05, rely=0.45, relwidth=0.9, relheight=0.5)
mostrar_dados(epoca_var.get())
root.mainloop()
0