from tkinter import *
sistema_solar = {
"Mercúrio": {
"distancia_sol_milhoes_km": 58,
"numero_luas": 0,
"luas": []
},
"Vénus": {
"distancia_sol_milhoes_km": 108,
"numero_luas": 0,
"luas": []
},
"Terra": {
"distancia_sol_milhoes_km": 150,
"numero_luas": 1,
"luas": ["Lua"]
},
"Marte": {
"distancia_sol_milhoes_km": 228,
"numero_luas": 2,
"luas": ["Fobos", "Deimos"]
},
"Júpiter": {
"distancia_sol_milhoes_km": 778,
"numero_luas": 95,
"luas": ["Io", "Europa", "Ganimedes", "Calisto"]
},
"Saturno": {
"distancia_sol_milhoes_km": 1427,
"numero_luas": 146,
"luas": ["Titã", "Encélado", "Reia", "Japeto", "Mimas"]
},
"Urano": {
"distancia_sol_milhoes_km": 2871,
"numero_luas": 27,
"luas": ["Titânia", "Oberon", "Umbriel", "Ariel", "Miranda"]
},
"Neptuno": {
"distancia_sol_milhoes_km": 4495,
"numero_luas": 14,
"luas": ["Tritão"]
}
}
root = Tk()
root.geometry("750x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Sistema Solar")
titulo = Label(text="Sistema Solar",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.28, rely=0.05)
var = StringVar()
dropDownList = list(sistema_solar.keys())
dropdown = OptionMenu(root, var, *dropDownList)
var.set(dropDownList[0])
dropdown.place(relx=0.15, rely=0.20, relwidth=0.7)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 18, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 18))
def limpar():
resultado_texto.config(text="")
def app():
planeta_selecionado = var.get()
dados = sistema_solar[planeta_selecionado]
texto = f"""
Planeta: {planeta_selecionado}
Distância ao Sol: {dados['distancia_sol_milhoes_km']} milhões de km
Número de luas: {dados['numero_luas']}
"""
if dados["luas"]:
texto += f"Luas: {', '.join(dados['luas'])}"
else:
texto += "Luas: (sem luas)"
resultado_texto.config(text=texto.strip())
but1 = Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.35, relwidth=0.25, relheight=0.08)
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.35, relwidth=0.25, relheight=0.08)
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.35, relwidth=0.25, relheight=0.08)
resultado_texto = Label(text="", justify=LEFT, anchor="w",
font=("Arial", 14, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.55, relwidth=0.9, relheight=0.4)
root.mainloop()