from tkinter import *
territorios_franceses = [
{"territorio": "França Metropolitana", "continente": "Europa", "populacao": 65000000, "area_km2": 551695, "densidade_pop": 65000000/551695},
{"territorio": "Guadalupe", "continente": "América (Caribe)", "populacao": 395726, "area_km2": 1628, "densidade_pop": 395726/1628},
{"territorio": "Martinica", "continente": "América (Caribe)", "populacao": 360000, "area_km2": 1128, "densidade_pop": 360000/1128},
{"territorio": "Guiana Francesa", "continente": "América do Sul", "populacao": 295000, "area_km2": 83534, "densidade_pop": 295000/83534},
{"territorio": "Reunião", "continente": "África (Oceano Índico)", "populacao": 871200, "area_km2": 2512, "densidade_pop": 871200/2512},
{"territorio": "Mayotte", "continente": "África (Oceano Índico)", "populacao": 320901, "area_km2": 374, "densidade_pop": 320901/374},
{"territorio": "Polinésia Francesa", "continente": "Oceania (Pacífico)", "populacao": 306000, "area_km2": 4167, "densidade_pop": 306000/4167},
{"territorio": "Nova Caledônia", "continente": "Oceania (Pacífico)", "populacao": 271400, "area_km2": 18576, "densidade_pop": 271400/18576},
{"territorio": "Wallis e Futuna", "continente": "Oceania (Pacífico)", "populacao": 11151, "area_km2": 142, "densidade_pop": 11151/142},
{"territorio": "São Martinho (parte francesa)", "continente": "América (Caribe)", "populacao": 31496, "area_km2": 53, "densidade_pop": 31496/53},
{"territorio": "São Bartolomeu", "continente": "América (Caribe)", "populacao": 10562, "area_km2": 24, "densidade_pop": 10562/24},
{"territorio": "Saint-Pierre e Miquelon", "continente": "América do Norte", "populacao": 5819, "area_km2": 242, "densidade_pop": 5819/242},
{"territorio": "Terras Austrais e Antárticas Francesas", "continente": "Antártica", "populacao": 0, "area_km2": 7829, "densidade_pop": 0},
{"territorio": "Ilha de Clipperton", "continente": "Oceania (Pacífico)", "populacao": 0, "area_km2": 2, "densidade_pop": 0}
]
def mostrar_dados(*args):
nome = var.get()
for t in territorios_franceses:
if t["territorio"] == nome:
texto = (
f"Território: {t['territorio']}\n\n"
f"Continente: {t['continente']}\n"
f"População: {t['populacao']:,} habitantes\n"
f"Área: {t['area_km2']:,} km²\n"
f"Densidade populacional: {t['densidade_pop']:.2f} hab/km²"
)
resultado_texto.config(text=texto)
break
root = Tk()
root.geometry("600x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Territórios franceses")
titulo = Label(
text="Territórios franceses",
font=("Arial", 28, "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.18, rely=0.05)
var = StringVar()
dropDownList = [t["territorio"] for t in territorios_franceses]
dropdown = OptionMenu(root, var, *dropDownList)
var.set(dropDownList[0])
dropdown.place(relx=0.05, rely=0.3, relwidth=0.93)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold"))
resultado_texto = Label(
text="",
font=("Arial", 12, "bold"),
bg="#cfe2f3",
justify=LEFT,
anchor="nw"
)
resultado_texto.place(relx=0.05, rely=0.45, relwidth=0.9, relheight=0.45)
var.trace("w", mostrar_dados)
mostrar_dados()
root.mainloop()