Mundo em Python

Colégios Eleitorais Americanos

from tkinter import *

us_states = [
"Alabama", "Alaska", "Arizona", "Arkansas", "Califórnia", "Colorado",
"Connecticut", "Delaware", "Distrito de Columbia", "Flórida", "Geórgia",
"Havaí", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky",
"Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota",
"Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire",
"New Jersey", "New York", "Nova Carolina do Norte", "Nova Dakota do Norte",
"Ohio", "Oklahoma", "Oregon", "Pensilvânia", "Rhode Island", "Tennessee",
"Texas", "Utah", "Vermont", "Virgínia", "Vila Ocidental", "Washington",
"Wisconsin", "Wyoming", "Dakota do Sul"
]
electoral_college_votes = {
"Alabama": 9,
"Alaska": 3,
"Arizona": 11,
"Arkansas": 6,
"Califórnia": 54,
"Colorado": 10,
"Connecticut": 7,
"Delaware": 3,
"Distrito de Columbia": 3,
"Flórida": 30,
"Geórgia": 16,
"Havaí": 4,
"Idaho": 4,
"Illinois": 19,
"Indiana": 11,
"Iowa": 6,
"Kansas": 6,
"Kentucky": 8,
"Louisiana": 8,
"Maine": 4,
"Maryland": 10,
"Massachusetts": 11,
"Michigan": 15,
"Minnesota": 10,
"Mississippi": 6,
"Missouri": 10,
"Montana": 4,
"Nebraska": 5,
"Nevada": 6,
"New Hampshire": 4,
"New Jersey": 14,
"New York": 28,
"Nova Carolina do Norte": 16,
"Nova Dakota do Norte": 3,
"Ohio": 17,
"Oklahoma": 8,
"Oregon": 8,
"Pensilvânia": 19,
"Rhode Island": 4,
"Tennessee": 11,
"Texas": 40,
"Utah": 6,
"Vermont": 3,
"Virgínia": 13,
"West Virginia": 4,
"Washington": 12,
"Wisconsin": 10,
"Wyoming": 3,
"Dakota do Sul": 3
}
def mostrar_informacoes():
"""
Função para exibir o número de votos eleitorais para o estado selecionado.
Atualiza o texto do widget Label 'resultado_texto'.
"""
state = var.get()
num_electoral_votes = electoral_college_votes.get(state) if num_electoral_votes is not None:
texto = f"O estado de {state} tem {num_electoral_votes} votos eleitorais."
else:
texto = f"Nenhuma informação disponível para {state}."

# Atualiza o texto do widget Label
resultado_texto.config(text=texto)
def limpar():
"""
Função para limpar o texto exibido no widget Label 'resultado_texto'.
"""
# Limpa o texto do widget Label
resultado_texto.config(text="")
# Configuração da janela principal da aplicação Tkinter
root = Tk()
root.geometry("500x400") # Define o tamanho da janela
root.resizable(0, 0) # Impede que a janela seja redimensionada
root.config(bg="#103030") # Define a cor de fundo
root.title("Colégios Eleitorais Americanos") # Define o título da janela

# Rótulo do título da aplicação
titulo = Label(text="Colégios Eleitorais Americanos",
font=("Arial", "22", "bold"), bg="#103030", fg="#49e3e3") # Fonte ligeiramente menor para caber
titulo.place(relx=0.05, rely=0.05, relwidth=0.9) # Posiciona o rótulo e ajusta largura

var = StringVar()
var.set(us_states[0]) dropdown = OptionMenu(root, var, *us_states)
dropdown.place(relx=0.18, rely=0.20, relwidth=0.7)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 14, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 12)) but1 = Button(text="Verificar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=mostrar_informacoes)
but1.place(relx=0.1, rely=0.45, relwidth=0.25, relheight=0.1) 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.45, relwidth=0.25, relheight=0.1) # Posiciona o botão

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.45, relwidth=0.25, relheight=0.1) resultado_texto = Label(root, font=("Arial", 12, "bold"), bg="#cfe2f3", justify=LEFT, anchor="nw")
resultado_texto.place(relx=0.05, rely=0.65, relwidth=0.9, relheight=0.25) # Posiciona o rótulo

root.mainloop()
0