Mundo em Python

Simulador de Colégio Eleitoral Americano

from tkinter import *
from tkinter import messagebox as mb class Quiz:
def __init__(self):
self.perguntas = [
"Q1. Quem ganha no Alabama ? ",
"Q2. Quem ganha no Alaska ?",
"Q3. Quem ganha no Arizona?",
"Q4. Quem ganha no Arkansas ?",
"Q5. Quem ganha na California?",
"Q6. Quem ganha no Colorado?",
"Q7. Quem ganha no Connecticut? ",
"Q8. Quem ganha no Delaware? ",
"Q9. Quem ganha na Florida? ",
"Q10. Quem ganha na Georgia? ",
"Q11. Quem ganha no Hawaii? ",
"Q12. Quem ganha no Idaho? ",
"Q13. Quem ganha no Illinois? ",
"Q14. Quem ganha no Indiana? ",
"Q15. Quem ganha no Iowa? ",
"Q16. Quem ganha no Kansas? ",
"Q17. Quem ganha no Kentucky? ",
"Q18. Quem ganha na Louisiana? ",
"Q19. Quem ganha no Maine? ",
"Q20. Quem ganha no Maryland? ",
"Q21. Quem ganha no Massachusetts? ",
"Q22. Quem ganha no Michigan? ",
"Q23. Quem ganha no Minnesota? ",
"Q24. Quem ganha no Mississippi? ",
"Q25. Quem ganha no Missouri? ",
"Q26. Quem ganha no Montana? ",
"Q27. Quem ganha no Nebraska? ",
"Q28. Quem ganha no Nevada? ",
"Q29. Quem ganha no New Hampshire? ",
"Q30. Quem ganha no New Jersey? ",
"Q31. Quem ganha no New Mexico? ",
"Q32. Quem ganha no New York? ",
"Q33. Quem ganha no North Carolina? ",
"Q34. Quem ganha no North Dakota? ",
"Q35. Quem ganha no Ohio? ",
"Q36. Quem ganha no Oklahoma? ",
"Q37. Quem ganha no Oregon? ",
"Q38. Quem ganha no Pennsylvania? ",
"Q39. Quem ganha no Rhode Island? ",
"Q40. Quem ganha no Carolina do Sul? ",
"Q41. Quem ganha no Dakota do Sul? ",
"Q42. Quem ganha no Tennessee? ",
"Q43. Quem ganha no Texas? ",
"Q44. Quem ganha no Utah? ",
"Q45. Quem ganha no Vermont? ",
"Q46. Quem ganha na Virgínia? ",
"Q47. Quem ganha no Washington? ",
"Q48. Quem ganha na Virgínia Ocidental? ",
"Q49. Quem ganha no Wisconsin? ",
"Q50. Quem ganha no Wyoming? ",
] self.votos = [
9, 3, 11, 6, 54, 10, 7, 3, 30, 16, 4, 4, 19, 11, 6, 6, 8, 8, 4, 10,
11, 15, 10, 6, 10, 4, 5, 6, 4, 14, 5, 28, 16, 3, 17, 7, 8, 19, 4, 9,
3, 11, 40, 6, 3, 13, 12, 4, 10, 3
] self.opcoes_resposta = [
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
["Partido Republicano", "Partido Democrata"],
] self.republican_votes = 0
self.democrat_votes = 0
self.q_no = 0
self.display_title()
self.display_question()
self.opt_selected = IntVar()
self.opts = self.radio_buttons()
self.display_options()
self.buttons()
self.data_size = len(self.perguntas) def display_result(self):
resultado = f"Total de votos para o Partido Republicano: {self.republican_votes}\n"
resultado += f"Total de votos para o Partido Democrata: {self.democrat_votes}\n"

mb.showinfo("RESULTADO DA SIMULAÇÃO", resultado) def check_ans(self, q_no):
if self.opt_selected.get() == 1:
self.republican_votes += self.votos[q_no]
elif self.opt_selected.get() == 2:
self.democrat_votes += self.votos[q_no] def next_btn(self):
self.check_ans(self.q_no)
self.q_no += 1
if self.q_no == self.data_size:
self.display_result()
self.republican_votes = 0
self.democrat_votes = 0
self.q_no = 0
self.display_question()
self.display_options() def buttons(self):
next_button = Button(root, text="Next", command=self.next_btn,
width=10, bg="blue", fg="white", font=("ariel", 16, "bold"))
next_button.place(x=350, y=380)
quit_button = Button(root, text="Quit", command=root.destroy,
width=5, bg="black", fg="white", font=("ariel", 16, "bold"))
quit_button.place(x=700, y=50) def display_options(self):
val = 0
self.opt_selected.set(0)
for option in self.opcoes_resposta[self.q_no]:
self.opts[val]['text'] = option
val += 1

def display_question(self):
q_no = Label(root, text=self.perguntas[self.q_no], width=60,
font=('ariel', 16, 'bold'), anchor='w')
q_no.place(x=70, y=100) def display_title(self):
title = Label(root, text="Simulador de Colégio Eleitoral Americano",
width=50, bg="green", fg="white", font=("ariel", 20, "bold"))
title.place(x=0, y=2) def radio_buttons(self):
q_list = []
y_pos = 150
while len(q_list) < 2:
radio_btn = Radiobutton(root, text=" ", variable=self.opt_selected,
value=len(q_list)+1, font=("ariel", 14))
q_list.append(radio_btn)
radio_btn.place(x=100, y=y_pos)
y_pos += 40
return q_list root = Tk()
root.geometry("800x450")
root.title("Simulador de Colégio Eleitoral Americano") quiz = Quiz()
root.mainloop()
0