from tkinter import *
from tkinter import messagebox
valores = [
{"pais": "Dinamarca", "valor": 1.98},
{"pais": "Países Baixos", "valor": 1.94},
{"pais": "Finlândia", "valor": 1.66},
{"pais": "Alemanha", "valor": 1.70},
{"pais": "França", "valor": 1.67},
{"pais": "Itália", "valor": 1.69},
{"pais": "Portugal", "valor": 1.70},
{"pais": "Irlanda", "valor": 1.73},
{"pais": "Grécia", "valor": 1.73},
{"pais": "Chipre", "valor": 1.35},
{"pais": "Áustria", "valor": 1.50},
{"pais": "Bélgica", "valor": 1.55},
{"pais": "Croácia", "valor": 1.43},
{"pais": "Bulgária", "valor": 1.20},
{"pais": "República Checa", "valor": 1.41},
{"pais": "Eslovênia", "valor": 1.45},
{"pais": "Hungria", "valor": 1.38},
{"pais": "Polônia", "valor": 1.35},
{"pais": "Eslováquia", "valor": 1.39},
{"pais": "Romênia", "valor": 1.44},
{"pais": "Bósnia e Herzegovina", "valor": 1.17},
{"pais": "Macedônia do Norte", "valor": 1.30},
{"pais": "Albânia", "valor": 1.79},
{"pais": "Moldávia", "valor": 1.20},
{"pais": "Kosovo", "valor": 1.30},
{"pais": "Montenegro", "valor": 1.40},
{"pais": "Sérvia", "valor": 1.40},
{"pais": "Bielorrússia", "valor": 0.66}
]
def store_temp(selection):
if selection == "Preço mínimo":
min_item = min(valores, key=lambda x: x["valor"])
resultado = f"Preço mínimo: {min_item['pais']} ({min_item['valor']} EUR)"
resultado_texto.config(text=resultado)
elif selection == "Preço máximo":
max_item = max(valores, key=lambda x: x["valor"])
resultado = f"Preço máximo: {max_item['pais']} ({max_item['valor']} EUR)"
resultado_texto.config(text=resultado)
elif selection == "Média":
media = sum(item["valor"] for item in valores) / len(valores)
resultado = f"Média: {media:.3f} EUR"
resultado_texto.config(text=resultado)
elif selection == "Ver Todos":
# Monta a mensagem completa
todos = "\n".join(f"{item['pais']}: {item['valor']} EUR" for item in valores)
# Abre uma messagebox com a lista
messagebox.showinfo("Todos os preços de gasolina na UE", todos)
else:
resultado_texto.config(text="Seleção inválida")
root = Tk()
root.title("Valores da Gasolina na UE")
root.geometry("600x400")
root.resizable(0, 0)
root.config(bg="#103030")
titulo = Label(text="Valores da Gasolina na UE",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.08, rely=0.05)
dropDownList = ["Preço mínimo", "Preço máximo", "Média", "Ver Todos","Fazer Gráfico"]
var = StringVar()
var.set(dropDownList[0])
dropdown = OptionMenu(root, var, *dropDownList, command=store_temp)
dropdown.place(relx=0.2, rely=0.25, relwidth=0.55, relheight=0.1)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=('Verdana', 15, 'bold'))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=('Verdana', 15, 'bold'))
resultado_texto = Label(text="", font=("Arial", 14, "bold"), bg="#103030", fg="#49e3e3", justify="left", anchor="nw")
resultado_texto.place(relx=0.05, rely=0.45, relwidth=0.9, relheight=0.5)
root.mainloop()