Mundo em Python

Países de África

from tkinter import *

dados = [
{"País": "África do Sul", "Capital": "Pretória / Cidade do Cabo / Bloemfontein", "População (milhões)": 60.4, "Moeda": "Rand (ZAR)", "Independência": "31 de maio de 1910 (do Reino Unido)"},
{"País": "Angola", "Capital": "Luanda", "População (milhões)": 36.7, "Moeda": "Kwanza (AOA)", "Independência": "11 de novembro de 1975 (de Portugal)"},
{"País": "Argélia", "Capital": "Argel", "População (milhões)": 45.4, "Moeda": "Dinar Argelino (DZD)", "Independência": "5 de julho de 1962 (da França)"},
{"País": "Benim", "Capital": "Porto Novo / Cotonou", "População (milhões)": 13.6, "Moeda": "Franco CFA (XOF)", "Independência": "1 de agosto de 1960 (da França)"},
{"País": "Botsuana", "Capital": "Gaborone", "População (milhões)": 2.7, "Moeda": "Pula (BWP)", "Independência": "30 de setembro de 1966 (do Reino Unido)"},
{"País": "Burquina Faso", "Capital": "Uagadugu", "População (milhões)": 23.3, "Moeda": "Franco CFA (XOF)", "Independência": "5 de agosto de 1960 (da França)"},
{"País": "Burúndi", "Capital": "Bujumbura / Gitega", "População (milhões)": 13.1, "Moeda": "Franco Burundês (BIF)", "Independência": "1 de julho de 1962 (da Bélgica)"},
{"País": "Cabo Verde", "Capital": "Praia", "População (milhões)": 0.6, "Moeda": "Escudo Cabo-verdiano (CVE)", "Independência": "5 de julho de 1975 (de Portugal)"},
{"País": "Camarões", "Capital": "Yaoundé", "População (milhões)": 28.6, "Moeda": "Franco CFA (XAF)", "Independência": "1 de janeiro de 1960 (da França)"},
{"País": "Chade", "Capital": "Jamena", "População (milhões)": 18.3, "Moeda": "Franco CFA (XAF)", "Independência": "11 de agosto de 1960 (da França)"},
{"País": "Comores", "Capital": "Moroni", "População (milhões)": 0.9, "Moeda": "Franco Comoriano (KMF)", "Independência": "6 de julho de 1975 (da França)"},
{"País": "Congo-Brazzaville", "Capital": "Brazzaville", "População (milhões)": 6.1, "Moeda": "Franco CFA (XAF)", "Independência": "15 de agosto de 1960 (da França)"},
{"País": "República Democrática do Congo", "Capital": "Kinshasa", "População (milhões)": 102.3, "Moeda": "Franco Congolês (CDF)", "Independência": "30 de junho de 1960 (da Bélgica)"},
{"País": "Costa do Marfim", "Capital": "Yamoussoukro / Abidjan", "População (milhões)": 28.3, "Moeda": "Franco CFA (XOF)", "Independência": "7 de agosto de 1960 (da França)"},
{"País": "Djibuti", "Capital": "Djibuti", "População (milhões)": 1.1, "Moeda": "Franco do Djibuti (DJF)", "Independência": "27 de junho de 1977 (da França)"},
{"País": "Egito", "Capital": "Cairo", "População (milhões)": 111.0, "Moeda": "Libra Egípcia (EGP)", "Independência": "28 de fevereiro de 1922 (do Reino Unido)"},
{"País": "Eritreia", "Capital": "Asmara", "População (milhões)": 3.7, "Moeda": "Nakfa (ERN)", "Independência": "24 de maio de 1993 (da Etiópia)"},
{"País": "Eswatini", "Capital": "Mbabane / Lobamba", "População (milhões)": 1.2, "Moeda": "Lilangeni (SZL)", "Independência": "6 de setembro de 1968 (do Reino Unido)"},
{"País": "Etiópia", "Capital": "Adis Abeba", "População (milhões)": 126.5, "Moeda": "Birr Etíope (ETB)", "Independência": "Nunca colonizada (resistiu à ocupação italiana)"},
{"País": "Gabão", "Capital": "Libreville", "População (milhões)": 2.3, "Moeda": "Franco CFA (XAF)", "Independência": "16 de agosto de 1960 (da França)"},
{"País": "Gâmbia", "Capital": "Banjul", "População (milhões)": 2.8, "Moeda": "Dalasi (GMD)", "Independência": "18 de fevereiro de 1965 (do Reino Unido)"},
{"País": "Gana", "Capital": "Acra", "População (milhões)": 34.1, "Moeda": "Cedi Ganês (GHS)", "Independência": "6 de março de 1957 (do Reino Unido)"},
{"País": "Guiné", "Capital": "Conacri", "População (milhões)": 14.3, "Moeda": "Franco Guineense (GNF)", "Independência": "2 de outubro de 1958 (da França)"},
{"País": "Guiné-Bissau", "Capital": "Bissau", "População (milhões)": 2.1, "Moeda": "Franco CFA (XOF)", "Independência": "24 de setembro de 1973 (de Portugal)"},
{"País": "Guiné Equatorial", "Capital": "Malabo / Oyala", "População (milhões)": 1.7, "Moeda": "Franco CFA (XAF)", "Independência": "12 de outubro de 1968 (da Espanha)"},
{"País": "Lesoto", "Capital": "Maseru", "População (milhões)": 2.3, "Moeda": "Loti (LSL)", "Independência": "4 de outubro de 1966 (do Reino Unido)"},
{"País": "Libéria", "Capital": "Monróvia", "População (milhões)": 5.4, "Moeda": "Dólar Liberiano (LRD)", "Independência": "26 de julho de 1847 (fundada por ex-escravizados dos EUA)"},
{"País": "Líbia", "Capital": "Tripoli", "População (milhões)": 7.0, "Moeda": "Dinar Líbio (LYD)", "Independência": "24 de dezembro de 1951 (do Reino Unido e França)"},
{"País": "Madagáscar", "Capital": "Antananarivo", "População (milhões)": 30.3, "Moeda": "Ariary Malgaxe (MGA)", "Independência": "26 de junho de 1960 (da França)"},
{"País": "Maláui", "Capital": "Lilongwe", "População (milhões)": 21.9, "Moeda": "Kwacha Malauiana (MWK)", "Independência": "6 de julho de 1964 (do Reino Unido)"},
{"País": "Mali", "Capital": "Bamaco", "População (milhões)": 23.3, "Moeda": "Franco CFA (XOF)", "Independência": "22 de setembro de 1960 (da França)"},
{"País": "Marrocos", "Capital": "Rabat", "População (milhões)": 37.8, "Moeda": "Dirham Marroquino (MAD)", "Independência": "2 de março de 1956 (da França e Espanha)"},
{"País": "Maurícia", "Capital": "Port Louis", "População (milhões)": 1.3, "Moeda": "Rupia Mauriciana (MUR)", "Independência": "12 de março de 1968 (do Reino Unido)"},
{"País": "Mauritânia", "Capital": "Nouakchott", "População (milhões)": 4.7, "Moeda": "Ouguiya (MRU)", "Independência": "28 de novembro de 1960 (da França)"},
{"País": "Moçambique", "Capital": "Maputo", "População (milhões)": 34.5, "Moeda": "Metical (MZN)", "Independência": "25 de junho de 1975 (de Portugal)"},
{"País": "Namíbia", "Capital": "Windhoek", "População (milhões)": 2.6, "Moeda": "Dólar Namibiano (NAD)", "Independência": "21 de março de 1990 (da África do Sul)"},
{"País": "Níger", "Capital": "Niamey", "População (milhões)": 27.3, "Moeda": "Franco CFA (XOF)", "Independência": "3 de agosto de 1960 (da França)"},
{"País": "Nigéria", "Capital": "Abuja", "População (milhões)": 223.8, "Moeda": "Naira (NGN)", "Independência": "1 de outubro de 1960 (do Reino Unido)"},
{"País": "Quénia", "Capital": "Nairóbi", "População (milhões)": 55.1, "Moeda": "Xelim Queniano (KES)", "Independência": "12 de dezembro de 1963 (do Reino Unido)"},
{"País": "República Centro-Africana", "Capital": "Bangui", "População (milhões)": 5.9, "Moeda": "Franco CFA (XAF)", "Independência": "13 de agosto de 1960 (da França)"},
{"País": "Ruanda", "Capital": "Quigali", "População (milhões)": 13.6, "Moeda": "Franco Ruandês (RWF)", "Independência": "1 de julho de 1962 (da Bélgica)"},
{"País": "São Tomé e Príncipe", "Capital": "São Tomé", "População (milhões)": 0.2, "Moeda": "Dobra (STN)", "Independência": "12 de julho de 1975 (de Portugal)"},
{"País": "Seicheles", "Capital": "Victoria", "População (milhões)": 0.1, "Moeda": "Rupia das Seicheles (SCR)", "Independência": "29 de junho de 1976 (do Reino Unido)"},
{"País": "Senegal", "Capital": "Dacar", "População (milhões)": 18.9, "Moeda": "Franco CFA (XOF)", "Independência": "4 de abril de 1960 (da França)"},
{"País": "Serra Leoa", "Capital": "Freetown", "População (milhões)": 8.8, "Moeda": "Leone (SLL)", "Independência": "27 de abril de 1961 (do Reino Unido)"},
{"País": "Somália", "Capital": "Mogadíscio", "População (milhões)": 17.1, "Moeda": "Xelim Somali (SOS)", "Independência": "1 de julho de 1960 (da Itália e Reino Unido)"},
{"País": "Sudão", "Capital": "Cartum", "População (milhões)": 48.1, "Moeda": "Libra Sudanesa (SDG)", "Independência": "1 de janeiro de 1956 (do Egito e Reino Unido)"},
{"País": "Sudão do Sul", "Capital": "Juba", "População (milhões)": 11.1, "Moeda": "Libra Sul-Sudanesa (SSP)", "Independência": "9 de julho de 2011 (do Sudão)"},
{"País": "Tanzânia", "Capital": "Dodoma", "População (milhões)": 67.4, "Moeda": "Xelim Tanzaniano (TZS)", "Independência": "9 de dezembro de 1961 (do Reino Unido)"},
{"País": "Togo", "Capital": "Lomé", "População (milhões)": 9.1, "Moeda": "Franco CFA (XOF)", "Independência": "27 de abril de 1960 (da França)"},
{"País": "Tunísia", "Capital": "Tunes", "População (milhões)": 12.4, "Moeda": "Dinar Tunisino (TND)", "Independência": "20 de março de 1956 (da França)"},
{"País": "Uganda", "Capital": "Campala", "População (milhões)": 49.6, "Moeda": "Xelim Ugandês (UGX)", "Independência": "9 de outubro de 1962 (do Reino Unido)"},
{"País": "Zâmbia", "Capital": "Lusaca", "População (milhões)": 20.6, "Moeda": "Kwacha Zambiana (ZMW)", "Independência": "24 de outubro de 1964 (do Reino Unido)"},
{"País": "Zimbábue", "Capital": "Harare", "População (milhões)": 16.7, "Moeda": "Dólar do Zimbábue (ZWL)", "Independência": "18 de abril de 1980 (do Reino Unido)"},
] root = Tk()
root.geometry("750x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Países de África") titulo = Label(text="Países de África",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.28, rely=0.05) var = StringVar()
dropDownList = sorted([d["País"] for d in dados])
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", 16, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 12)) def limpar():
resultado_texto.config(text="") def app():
pais_selecionado = var.get()
for d in dados:
if d["País"] == pais_selecionado:
populacao = f"{d['População (milhões)']:.2f} milhões".replace(".", ",")
texto = f"""
País: {d['País']}
Capital: {d['Capital']}
População: {populacao}
Moeda: {d['Moeda']}
Data de Independência: {d['Independência']}
"""
resultado_texto.config(text=texto.strip())
break

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", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.55, relwidth=0.9, relheight=0.4) root.mainloop()
0