Mundo em Python

Lista de Países de um determinado continente

from tkinter import *

# Dicionário de países e continentes (expandido)
paises_continentes = {
"Brasil": "América do Sul",
"Estados Unidos": "América do Norte",
"Canadá": "América do Norte",
"Alemanha": "Europa",
"França": "Europa",
"Japão": "Ásia",
"China": "Ásia",
"Austrália": "Oceania",
"África do Sul": "África",
"Egito": "África",
"Argentina": "América do Sul",
"México": "América do Norte",
"Reino Unido": "Europa",
"Itália": "Europa",
"Índia": "Ásia",
"Rússia": "Europa/Ásia",
"Nova Zelândia": "Oceania",
"Nigéria": "África",
"Colômbia": "América do Sul",
"Coreia do Sul": "Ásia",
"Chile": "América do Sul",
"Peru": "América do Sul",
"Venezuela": "América do Sul",
"Uruguai": "América do Sul",
"Paraguai": "América do Sul",
"Bolívia": "América do Sul",
"Equador": "América do Sul",
"Guiana": "América do Sul",
"Suriname": "América do Sul",
"Panamá": "América Central",
"Costa Rica": "América Central",
"Nicarágua": "América Central",
"Honduras": "América Central",
"El Salvador": "América Central",
"Guatemala": "América Central",
"Belize": "América Central",
"Cuba": "América Central",
"Haiti": "América Central",
"República Dominicana": "América Central",
"Jamaica": "América Central",
"Bahamas": "América Central",
"Trinidad e Tobago": "América Central",
"Barbados": "América Central",
"Granada": "América Central",
"São Vicente e Granadinas": "América Central",
"Santa Lúcia": "América Central",
"Antígua e Barbuda": "América Central",
"Dominica": "América Central",
"São Cristóvão e Neves": "América Central",
"Portugal": "Europa",
"Espanha": "Europa",
"Irlanda": "Europa",
"Noruega": "Europa",
"Suécia": "Europa",
"Finlândia": "Europa",
"Dinamarca": "Europa",
"Islândia": "Europa",
"Bélgica": "Europa",
"Holanda": "Europa",
"Luxemburgo": "Europa",
"Suíça": "Europa",
"Áustria": "Europa",
"Polônia": "Europa",
"República Tcheca": "Europa",
"Hungria": "Europa",
"Eslováquia": "Europa",
"Eslovênia": "Europa",
"Croácia": "Europa",
"Bósnia e Herzegovina": "Europa",
"Sérvia": "Europa",
"Montenegro": "Europa",
"Kosovo": "Europa",
"Albânia": "Europa",
"Macedônia do Norte": "Europa",
"Grécia": "Europa",
"Bulgária": "Europa",
"Romênia": "Europa",
"Ucrânia": "Europa",
"Bielorrússia": "Europa",
"Lituânia": "Europa",
"Letônia": "Europa",
"Estônia": "Europa",
"Moldávia": "Europa",
"Turquia": "Ásia/Europa",
"Irã": "Ásia",
"Iraque": "Ásia",
"Síria": "Ásia",
"Líbano": "Ásia",
"Israel": "Ásia",
"Jordânia": "Ásia",
"Arábia Saudita": "Ásia",
"Kuwait": "Ásia",
"Bahrein": "Ásia",
"Catar": "Ásia",
"Emirados Árabes Unidos": "Ásia",
"Omã": "Ásia",
"Iêmen": "Ásia",
"Afeganistão": "Ásia",
"Paquistão": "Ásia",
"Bangladesh": "Ásia",
"Sri Lanka": "Ásia",
"Maldivas": "Ásia",
"Nepal": "Ásia",
"Butão": "Ásia",
"Myanmar": "Ásia",
"Tailândia": "Ásia",
"Laos": "Ásia",
"Camboja": "Ásia",
"Vietnã": "Ásia",
"Malásia": "Ásia",
"Singapura": "Ásia",
"Indonésia": "Ásia",
"Filipinas": "Ásia",
"Brunei": "Ásia",
"Timor-Leste": "Ásia",
"Mongólia": "Ásia",
"Cazaquistão": "Ásia",
"Uzbequistão": "Ásia",
"Turcomenistão": "Ásia",
"Quirguistão": "Ásia",
"Tajiquistão": "Ásia",
"Armênia": "Ásia",
"Geórgia": "Ásia",
"Azerbaijão": "Ásia",
"Sudão": "África",
"Sudão do Sul": "África",
"Etiópia": "África",
"Eritreia": "África",
"Djibouti": "África",
"Somália": "África",
"Quênia": "África",
"Uganda": "África",
"Ruanda": "África",
"Burundi": "África",
"Tanzânia": "África",
"Zâmbia": "África",
"Malawi": "África",
"Moçambique": "África",
"Zimbábue": "África",
"Botswana": "África",
"Namíbia": "África",
"Angola": "África",
"República Democrática do Congo": "África",
"Congo": "África",
"Gabon": "África",
"Guiné Equatorial": "África",
"Camarões": "África",
"Chade": "África",
"República Centro-Africana": "África",
"Nigéria": "África",
"Níger": "África",
"Mali": "África",
"Mauritânia": "África",
"Senegal": "África",
"Gâmbia": "África",
"Guiné-Bissau": "África",
"Guiné": "África",
"Serra Leoa": "África",
"Libéria": "África",
"Costa do Marfim": "África",
"Gana": "África",
"Togo": "África",
"Benin": "África",
"Burkina Faso": "África",
"Cabo Verde": "África",
"São Tomé e Príncipe": "África",
"Comores": "África",
"Madagascar": "África",
"Ilhas Maurício": "África",
"Seychelles": "África",
"Papua Nova Guiné": "Oceania",
"Ilhas Salomão": "Oceania",
"Vanuatu": "Oceania",
"Fiji": "Oceania",
"Samoa": "Oceania",
"Tonga": "Oceania",
"Tuvalu": "Oceania",
"Kiribati": "Oceania",
"Micronésia": "Oceania",
"Palau": "Oceania",
"Ilhas Marshall": "Oceania"
} # Lista de continentes
continentes = ["América do Sul", "América do Norte", "Europa", "Ásia", "Oceania", "África", "América Central"] def mostrar_paises_continente():
continente_selecionado = continente_var.get()
paises = [pais for pais, continente in paises_continentes.items() if continente == continente_selecionado]
paises.sort() # Ordena os países em ordem alfabética
resultado_texto.config(state=NORMAL)
resultado_texto.delete(1.0, END)
resultado_texto.insert(END, "\n".join(paises))
resultado_texto.config(state=DISABLED) def limpar():
resultado_texto.config(state=NORMAL)
resultado_texto.delete(1.0, END)
resultado_texto.config(state=DISABLED) # Configuração da interface Tkinter
root = Tk()
root.geometry("500x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Lista de Países") titulo = Label(text="Lista de Países", font=("Arial", "28", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.25, rely=0.05) # Dropdown para seleção de continente
continente_var = StringVar(root)
continente_var.set(continentes[0]) # Valor padrão

drop = OptionMenu(root, continente_var, *continentes)
drop.config(bg='#107db2', fg='white', font=('verdana', 12, 'bold'))
drop.place(relx=0.1, rely=0.2, relwidth=0.8, relheight=0.1) # Botão para mostrar países do continente selecionado
but1 = Button(text="Mostrar Países", bd=2, bg='#107db2', fg='white', font=('verdana', 12, 'bold'),
command=mostrar_paises_continente)
but1.place(relx=0.1, rely=0.35, relwidth=0.25, relheight=0.1) # Botão para limpar resultados
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.1) # Botão para sair
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.1) # Área para mostrar resultados com barra de rolagem
frame_resultado = Frame(root)
frame_resultado.place(relx=0.05, rely=0.5, relwidth=0.9, relheight=0.4) scrollbar = Scrollbar(frame_resultado)
scrollbar.pack(side=RIGHT, fill=Y) resultado_texto = Text(frame_resultado, font=("Arial", 12, "bold"), bg="#cfe2f3",
yscrollcommand=scrollbar.set, state=DISABLED)
resultado_texto.pack(side=LEFT, fill=BOTH) scrollbar.config(command=resultado_texto.yview) root.mainloop()
0