Estados do Brasil

from tkinter import *
import csv

estados_brasil = [
"Acre", "Alagoas", "Amapá", "Amazonas", "Bahia", "Ceará", "Distrito Federal",
"Espírito Santo", "Goiás", "Maranhão", "Mato Grosso", "Mato Grosso do Sul",
"Minas Gerais", "Pará", "Paraíba", "Paraná", "Pernambuco", "Piauí",
"Rio de Janeiro", "Rio Grande do Norte", "Rio Grande do Sul", "Rondônia",
"Roraima", "Santa Catarina", "São Paulo", "Sergipe", "Tocantins"
]

informacoes_estados = {
"Acre": "Capital: Rio Branco\nPopulação: ~900.000\nRegião: Norte\nPIB: R$ 15,5 bilhões\nExportação: Madeira\nImportação: Combustíveis",
"Alagoas": "Capital: Maceió\nPopulação: ~3.300.000\nRegião: Nordeste\nPIB: R$ 55,6 bilhões\nExportação: Açúcar\nImportação: Máquinas",
"Amapá": "Capital: Macapá\nPopulação: ~860.000\nRegião: Norte\nPIB: R$ 17,5 bilhões\nExportação: Minérios\nImportação: Combustíveis",
"Amazonas": "Capital: Manaus\nPopulação: ~4.300.000\nRegião: Norte\nPIB: R$ 122,4 bilhões\nExportação: Eletroeletrônicos\nImportação: Componentes eletrônicos",
"Bahia": "Capital: Salvador\nPopulação: ~14.900.000\nRegião: Nordeste\nPIB: R$ 398,0 bilhões\nExportação: Derivados de petróleo\nImportação: Químicos",
"Ceará": "Capital: Fortaleza\nPopulação: ~9.200.000\nRegião: Nordeste\nPIB: R$ 205,4 bilhões\nExportação: Calçados\nImportação: Máquinas",
"Distrito Federal": "Capital: Brasília\nPopulação: ~3.000.000\nRegião: Centro-Oeste\nPIB: R$ 304,6 bilhões\nExportação: Serviços\nImportação: Equipamentos",
"Espírito Santo": "Capital: Vitória\nPopulação: ~4.000.000\nRegião: Sudeste\nPIB: R$ 169,7 bilhões\nExportação: Minério de ferro\nImportação: Petróleo",
"Goiás": "Capital: Goiânia\nPopulação: ~7.000.000\nRegião: Centro-Oeste\nPIB: R$ 273,2 bilhões\nExportação: Soja\nImportação: Fertilizantes",
"Maranhão": "Capital: São Luís\nPopulação: ~7.200.000\nRegião: Nordeste\nPIB: R$ 98,2 bilhões\nExportação: Minérios\nImportação: Combustíveis",
"Mato Grosso": "Capital: Cuiabá\nPopulação: ~3.700.000\nRegião: Centro-Oeste\nPIB: R$ 224,1 bilhões\nExportação: Soja\nImportação: Máquinas",
"Mato Grosso do Sul": "Capital: Campo Grande\nPopulação: ~2.800.000\nRegião: Centro-Oeste\nPIB: R$ 160,6 bilhões\nExportação: Celulose\nImportação: Equipamentos industriais",
"Minas Gerais": "Capital: Belo Horizonte\nPopulação: ~20.000.000\nRegião: Sudeste\nPIB: R$ 700,0 bilhões\nExportação: Minério de ferro\nImportação: Combustíveis",
"Pará": "Capital: Belém\nPopulação: ~8.800.000\nRegião: Norte\nPIB: R$ 256,0 bilhões\nExportação: Minério de ferro\nImportação: Combustíveis",
"Paraíba": "Capital: João Pessoa\nPopulação: ~4.000.000\nRegião: Nordeste\nPIB: R$ 84,0 bilhões\nExportação: Calçados\nImportação: Tecidos",
"Paraná": "Capital: Curitiba\nPopulação: ~11.800.000\nRegião: Sul\nPIB: R$ 554,0 bilhões\nExportação: Soja\nImportação: Peças automotivas",
"Pernambuco": "Capital: Recife\nPopulação: ~9.700.000\nRegião: Nordeste\nPIB: R$ 236,0 bilhões\nExportação: Açúcar\nImportação: Combustíveis",
"Piauí": "Capital: Teresina\nPopulação: ~3.300.000\nRegião: Nordeste\nPIB: R$ 56,7 bilhões\nExportação: Soja\nImportação: Combustíveis",
"Rio de Janeiro": "Capital: Rio de Janeiro\nPopulação: ~16.000.000\nRegião: Sudeste\nPIB: R$ 857,0 bilhões\nExportação: Petróleo bruto\nImportação: Máquinas",
"Rio Grande do Norte": "Capital: Natal\nPopulação: ~3.500.000\nRegião: Nordeste\nPIB: R$ 87,5 bilhões\nExportação: Frutas\nImportação: Combustíveis",
"Rio Grande do Sul": "Capital: Porto Alegre\nPopulação: ~11.300.000\nRegião: Sul\nPIB: R$ 561,0 bilhões\nExportação: Soja\nImportação: Combustíveis",
"Rondônia": "Capital: Porto Velho\nPopulação: ~1.800.000\nRegião: Norte\nPIB: R$ 60,4 bilhões\nExportação: Carne bovina\nImportação: Combustíveis",
"Roraima": "Capital: Boa Vista\nPopulação: ~650.000\nRegião: Norte\nPIB: R$ 17,1 bilhões\nExportação: Energia elétrica\nImportação: Combustíveis",
"Santa Catarina": "Capital: Florianópolis\nPopulação: ~7.600.000\nRegião: Sul\nPIB: R$ 398,0 bilhões\nExportação: Máquinas e equipamentos\nImportação: Plásticos",
"São Paulo": "Capital: São Paulo\nPopulação: ~45.000.000\nRegião: Sudeste\nPIB: R$ 2.500,0 bilhões\nExportação: Automóveis\nImportação: Eletrônicos",
"Sergipe": "Capital: Aracaju\nPopulação: ~2.300.000\nRegião: Nordeste\nPIB: R$ 53,3 bilhões\nExportação: Fertilizantes\nImportação: Combustíveis",
"Tocantins": "Capital: Palmas\nPopulação: ~1.600.000\nRegião: Norte\nPIB: R$ 54,4 bilhões\nExportação: Soja\nImportação: Combustíveis"
}

# Cores por região
cores_regioes = {
"Norte": "#cce5ff",
"Nordeste": "#d4edda",
"Centro-Oeste": "#fff3cd",
"Sudeste": "#f8d7da",
"Sul": "#e2e3e5"
}

# Janela principal
root = Tk()
root.geometry("750x600")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Estados do Brasil")

titulo = Label(text="Estados do Brasil", font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05)

texto_sub1 = Label(text="Escolha um estado:", font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.1, rely=0.26)

var = StringVar()
var.set(estados_brasil[0])
dropdown = OptionMenu(root, var, *estados_brasil)
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", 14))

frame_texto = Frame(root, bg="#cfe2f3")
frame_texto.place(relx=0.05, rely=0.6, relwidth=0.9, relheight=0.3)

scrollbar = Scrollbar(frame_texto)
scrollbar.pack(side=RIGHT, fill=Y)

resultado_texto = Text(frame_texto, wrap=WORD, font=("Arial", 14, "bold"),
bg="#cfe2f3", yscrollcommand=scrollbar.set)
resultado_texto.pack(side=LEFT, fill=BOTH, expand=True)
scrollbar.config(command=resultado_texto.yview)
resultado_texto.config(state=DISABLED)

def mostrar_informacoes():
estado = var.get()
texto = informacoes_estados.get(estado, "Informação não disponível.")
regiao = "Desconhecida"
for r in cores_regioes:
if f"Região: {r}" in texto:
regiao = r
break
cor_fundo = cores_regioes.get(regiao, "#cfe2f3")

resultado_texto.config(state=NORMAL, bg=cor_fundo)
resultado_texto.delete("1.0", END)
resultado_texto.insert(END, f"{estado}\n\n{texto}")
resultado_texto.config(state=DISABLED)

btn_mostrar = Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=mostrar_informacoes)
btn_mostrar.place(relx=0.1, rely=0.45, relwidth=0.35, relheight=0.1)

def gerar_csv():
with open("estados_brasil.csv", mode='w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(["Estado", "Capital", "População", "Região", "PIB", "Exportação", "Importação"])
for estado, info in informacoes_estados.items():
capital = info.split("Capital:")[1].split("\n")[0].strip()
populacao = info.split("População:")[1].split("\n")[0].strip()
regiao = info.split("Região:")[1].split("\n")[0].strip()
pib = info.split("PIB:")[1].split("\n")[0].strip()
exporta = info.split("Exportação:")[1].split("\n")[0].strip()
importa = info.split("Importação:")[1].strip()
writer.writerow([estado, capital, populacao, regiao, pib, exporta, importa])

btn_gerar_csv = Button(text="Gerar CSV", bd=2, bg='#107db2', fg='white',
font=('Verdana', 12, 'bold'), command=gerar_csv)
btn_gerar_csv.place(relx=0.55, rely=0.45, relwidth=0.35, relheight=0.1)

root.mainloop()

Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Calcular a percentagem de ocupação