# Benfica 2025/2026
# Guarda-redes
gk = [
"Anatoliy Trubin",
"Samuel Soares"
]
# Defesas
defesas = [
{"nome": "António Silva", "posição": "Defesa-central (direito)"},
{"nome": "Tomás Araújo", "posição": "Defesa-central (esquerdo)"},
{"nome": "Nicolás Otamendi", "posição": "Defesa-central (direito)"},
{"nome": "Amar Dedić", "posição": "Lateral-direito"},
{"nome": "Alexander Bah", "posição": "Lateral-direito"},
{"nome": "Samuel Dahl", "posição": "Lateral-esquerdo"},
{"nome": "Rafa Obrador", "posição": "Lateral-esquerdo"},
{"nome": "Gonçalo Oliveira", "posição": "Defesa-central (esquerdo)"},
{"nome": "Joshua Wynder", "posição": "Defesa-central (direito)"}
]
# Médios
medios = [
{"nome": "Enzo Barrenechea", "posição": "Médio defensivo / '6'"},
{"nome": "Richard Ríos", "posição": "Médio centro / box-to-box"},
{"nome": "Leandro Barreiro", "posição": "Médio centro / transição"},
{"nome": "Florentino", "posição": "Médio defensivo / recuperador"},
{"nome": "João Veloso", "posição": "Médio ofensivo / criativo"}
]
# Avançados
avancados = [
{"nome": "Vangelis Pavlidis", "posição": "Ponta-de-lança / Avançado centro"},
{"nome": "Kerem Aktürkoğlu", "posição": "Extremo esquerdo / Segundo avançado"},
{"nome": "Fredrik Aursnes", "posição": "Extremo esquerdo / Médio ala"},
{"nome": "Andreas Schjelderup", "posição": "Extremo esquerdo / Médio ofensivo"},
{"nome": "Gianluca Prestianni", "posição": "Extremo direito"},
{"nome": "Henrique Araújo", "posição": "Ponta-de-lança"},
{"nome": "Tiago Gouveia", "posição": "Extremo direito / Ala ofensivo"}
]
# Equipa Técnica
benfica_equipa_tecnica = {
"Treinador Principal": "José Mourinho",
"Treinadores Adjuntos": [
"João Tralhão",
"Pedro Machado",
"Ricardo Formosinho",
"Ricardo Rocha"
],
"Treinador de Guarda-Redes": "Nuno Santos",
"Preparador Físico": "António Dias",
"Analistas Técnicos": [
"Roberto Merella",
"Rúben Soares"
]
}
# --- Interface gráfica (Tkinter) ---
from tkinter import *
root = Tk()
root.geometry("700x450")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Jogadores do Benfica")
# Título
titulo = Label(text="Jogadores do Benfica",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.18, rely=0.05)
# Subtítulo
texto_sub1 = Label(text="Escolha uma opção:",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.25)
# Dropdown
var = StringVar()
dropDownList = ["Guarda-redes", "Defesas", "Médios", "Avançados", "Equipa Técnica"]
dropdown = OptionMenu(root, var, *dropDownList)
var.set(dropDownList[0])
dropdown.place(relx=0.45, rely=0.25, relwidth=0.45)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 18, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 18, "bold"))
# --- Área de resultados com Listbox + Scrollbar ---
frame_resultado = Frame(root, bg="#cfe2f3", bd=2, relief="sunken")
frame_resultado.place(relx=0.05, rely=0.45, relwidth=0.9, relheight=0.35)
scrollbar = Scrollbar(frame_resultado)
scrollbar.pack(side=RIGHT, fill=Y)
listbox = Listbox(frame_resultado, font=("Arial", 12, "bold"),
bg="#e6f0fa", fg="#000000",
yscrollcommand=scrollbar.set)
listbox.pack(side=LEFT, fill=BOTH, expand=True)
scrollbar.config(command=listbox.yview)
# --- Funções ---
def limpar():
listbox.delete(0, END)
def app():
listbox.delete(0, END)
escolha = var.get()
if escolha == "Guarda-redes":
for nome in gk:
listbox.insert(END, nome)
elif escolha == "Defesas":
for d in defesas:
listbox.insert(END, f"{d['nome']} — {d['posição']}")
elif escolha == "Médios":
for m in medios:
listbox.insert(END, f"{m['nome']} — {m['posição']}")
elif escolha == "Avançados":
for a in avancados:
listbox.insert(END, f"{a['nome']} — {a['posição']}")
elif escolha == "Equipa Técnica":
listbox.insert(END, f"Treinador Principal: {benfica_equipa_tecnica['Treinador Principal']}")
listbox.insert(END, "Treinadores Adjuntos:")
for adjunto in benfica_equipa_tecnica["Treinadores Adjuntos"]:
listbox.insert(END, f" - {adjunto.strip()}")
listbox.insert(END, f"Treinador de Guarda-Redes: {benfica_equipa_tecnica['Treinador de Guarda-Redes']}")
listbox.insert(END, f"Preparador Físico: {benfica_equipa_tecnica['Preparador Físico']}")
listbox.insert(END, "Analistas Técnicos:")
for analista in benfica_equipa_tecnica["Analistas Técnicos"]:
listbox.insert(END, f" - {analista}")
else:
listbox.insert(END, "Seleção inválida.")
# --- Botões ---
but_mostrar = Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but_mostrar.place(relx=0.1, rely=0.85, relwidth=0.25, relheight=0.1)
but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.4, rely=0.85, relwidth=0.25, relheight=0.1)
but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.7, rely=0.85, relwidth=0.25, relheight=0.1)
root.mainloop()