coeficientes = {
# ---- TOP ligas (2.0) ----
"Inglaterra": 2.0,
"Espanha": 2.0,
"Itália": 2.0,
"Alemanha": 2.0,
"França": 2.0,
# ---- Ligas intermédias (1.5) ----
"Portugal": 1.5,
"Países Baixos": 1.5,
"Bélgica": 1.5,
"Turquia": 1.5,
"Chéquia": 1.5,
"Escócia": 1.5,
"Áustria": 1.5,
"Grécia": 1.5,
"Suíça": 1.5,
"Dinamarca": 1.5,
"Noruega": 1.5,
"Polónia": 1.5,
"Croácia": 1.5,
"Sérvia": 1.5,
# ---- Restantes UEFA (1.0) ----
"Albânia": 1.0,
"Andorra": 1.0,
"Arménia": 1.0,
"Azerbaijão": 1.0,
"Bielorrússia": 1.0,
"Bósnia": 1.0,
"Bulgária": 1.0,
"Chipre": 1.0,
"Estónia": 1.0,
"Ilhas Feroé": 1.0,
"Finlândia": 1.0,
"Geórgia": 1.0,
"Gibraltar": 1.0,
"Hungria": 1.0,
"Islândia": 1.0,
"Israel": 1.0,
"Cazaquistão": 1.0,
"Kosovo": 1.0,
"Letónia": 1.0,
"Liechtenstein": 1.0,
"Lituânia": 1.0,
"Luxemburgo": 1.0,
"Malta": 1.0,
"Moldávia": 1.0,
"Montenegro": 1.0,
"Macedónia do Norte": 1.0,
"Irlanda do Norte": 1.0,
"República da Irlanda": 1.0,
"Roménia": 1.0,
"Rússia": 1.0,
"San Marino": 1.0,
"Eslováquia": 1.0,
"Eslovénia": 1.0,
"Suécia": 1.0,
"Ucrânia": 1.0,
"País de Gales": 1.0
}
from tkinter import *
root = Tk()
root.geometry("700x450")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Calcular pontos para Chuteira de Ouro")
# --- UI Setup ---
titulo = Label(text="Calcular pontos para Chuteira de Ouro", font=("Arial", 25, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05)
sub1_text = Label(text="Número de golos:", font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
sub1_text.place(relx=0.05, rely=0.25)
Números_golos = StringVar()
Números_golos_entrada = Entry(textvariable=Números_golos, font=("Arial", 15, "bold"), bg="white", fg="blue",
justify='center')
Números_golos_entrada.place(relx=0.45, rely=0.26, relwidth=0.4)
Números_golos_entrada.focus()
sub2_text = Label(text="País/Liga:", font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
sub2_text.place(relx=0.05, rely=0.4)
# --- Lógica de Cálculo ---
def app(*args): # Aceita argumentos para funcionar com o comando do OptionMenu
try:
# 1. Converter entrada para número
n_golos = float(Números_golos.get())
pais_selecionado = var.get()
# 2. Buscar coeficiente no dicionário (Padrão 1.0 se não estiver na lista)
coeficiente = coeficientes.get(pais_selecionado, 1.0)
# 3. Calcular
final = n_golos * coeficiente
mensagem = f"Coeficiente da Liga: {coeficiente}\nTotal de Pontos: {final:.1f}"
resultado_texto.config(text=mensagem, fg="black")
except ValueError:
resultado_texto.config(text="Erro: Insira um número de golos válido.", fg="red")
def limpar():
Números_golos_entrada.delete(0, END)
resultado_texto.config(text="")
# --- Dropdown ---
var = StringVar()
dropDownList = sorted(coeficientes.keys())
# Adicionar alguns países que valem 1.0 para a lista aparecer completa
outros = ["Suécia", "Ucrânia", "Roménia", "Bulgária", "Hungria"]
dropDownList = sorted(list(coeficientes.keys()) + outros)
var.set("Portugal") # Valor inicial
dropdown = OptionMenu(root, var, *dropDownList, command=app)
dropdown.place(relx=0.35, rely=0.4, relwidth=0.5)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 15, "bold"))
# Botão para calcular manualmente (opcional, já que o dropdown chama a função)
botao_calc = Button(text="Calcular", command=app, bg="#49e3e3", font=("Arial", 12, "bold"))
botao_calc.place(relx=0.2, rely=0.55, relwidth=0.2)
botao_limpar = Button(text="Limpar", command=limpar, bg="#49e3e3", font=("Arial", 12, "bold"))
botao_limpar.place(relx=0.45, rely=0.55, relwidth=0.2)
botao_sair = Button(text="Sair", command=root.destroy, bg="#49e3e3", font=("Arial", 12, "bold"))
botao_sair.place(relx=0.7, rely=0.55, relwidth=0.2)
resultado_texto = Label(text="", font=("Arial", 16, "bold"), bg="#cfe2f3", anchor="center")
resultado_texto.place(relx=0.05, rely=0.7, relwidth=0.9, relheight=0.25)
root.mainloop()