eleccionesprode / app.py
Lukeetah's picture
Upload app.py
922efad
import streamlit as st
import sqlite3
# Lista de candidatos
candidatos = [
"Javier Milei",
"Patricia Bullrich",
"Sergio Massa",
"Juan Schiaretti",
"Myriam Bregman",
"Votos en blanco / impugnados"
]
# Conexi贸n a la base de datos
conn = sqlite3.connect('resultados.db')
c = conn.cursor()
# Crear tabla si no existe
c.execute('''CREATE TABLE IF NOT EXISTS resultados
(nombre text, milei real, bullrich real, massa real, schiaretti real, bregman real, blanco real)''')
# Diccionario para almacenar las votaciones
votaciones = {}
st.title("Elecciones Presidenciales 2023")
# Funci贸n para validar votante
def validar_votante(nombre):
return nombre in votaciones
# Secci贸n principal
nombre_votante = st.text_input("Ingrese su nombre")
if nombre_votante:
if not validar_votante(nombre_votante):
# Secci贸n de votaci贸n
porcentajes = {}
total = 0
for candidato in candidatos:
porcentaje = st.number_input(f"Porcentaje de votos para {candidato}", min_value=0, max_value=100)
porcentajes[candidato] = porcentaje
total += porcentaje
if total == 100:
confirmado = st.button("Votar")
if confirmado:
# Guardar resultados en la base de datos
c.execute('INSERT INTO resultados VALUES (?, ?, ?, ?, ?, ?, ?)',
(nombre_votante, porcentajes["Javier Milei"], porcentajes["Patricia Bullrich"],
porcentajes["Sergio Massa"], porcentajes["Juan Schiaretti"], porcentajes["Myriam Bregman"], porcentajes["Votos en blanco / impugnados"]))
conn.commit()
votaciones[nombre_votante] = porcentajes
st.write(f"Gracias {nombre_votante}!")
# Verificar si el votante ya vot贸
if nombre_votante in votaciones:
st.write(f"Gracias {nombre_votante}, ya votaste")
# Mostrar resultados
if st.button("Resultados"):
# Leer resultados desde la base de datos
c.execute('SELECT * FROM resultados')
resultados = c.fetchall()
st.write("Resultados actuales:")
for resultado in resultados:
st.write(f'{resultado[0]}:')
for i, candidato in enumerate(candidatos):
st.write(f'{candidato}: {resultado[i + 1]}%')
# Bot贸n para volver
if st.button("< Volver"):
st.empty()
# Cerrar conexi贸n a la base de datos
conn.close()