[ Foro de PHP ]

Ayuda, no me suman los contadores

17-May-2021 20:01
Invitado (John Jairo)
0 Respuestas

from numpy import ndarray

"""libreria para los arreglos"""
import numpy as np
"""primeria clase llamada Votos"""
class Votos:
   #Metodo constructor de clase Votos
   def __init__(self):
       self.identificacion="" #Variable donde se guarda la identificacion
       self.nombre = "" #Variable donde se guarda el nombre
       self.opcion = ""
       self.votos_c1 = 0
       self.votos_c2 = 0
       self.votos_c3 = 0
                       
   #Metodo capturar, permmite capturar los datos del votante
   def Capturar(self):
       
       print("Digite su identificación")#Pide ingresar la identificacion
       self.identificacion=int(input())#Guarda la identificacion en la variable identificacion
       print("Digite su nombre")#Pide ingresar el nombre
       self.nombre=input()#Guarda la identificacion en la variable nombre

       #Imprime en pantalla menu votacion
       print("-------REALICE LA VOTACION-------")
       print("1. Votar por C1")
       print("2. Votar por C2")
       print("3. Votar por C3")
       
       self.opcion=int(input("¿Por quien desea votar?: "))#Pide ingresar la por quien va a votar
       while (self.opcion <1 or self.opcion >3):
           print("opcion no valida")

       if self.opcion == 1:#Si selecciona uno se aumenta un voto a C11
           self.votos_c1+= 1
       if self.opcion == 2:#Si selecciona uno se aumenta un voto a C2
           self.votos_c2+= 1
       if self.opcion == 3:#Si selecciona uno se aumenta un voto a C3
           self.votos_c3+= 1
           
       #Metodo imprimir, imprime en pantalla datos del votante
   def Imprimir(self):
       print("Identificación: ", self.identificacion)#imprime Identificacion
       print("Nombre: ", self.nombre)#imprime nombre
       print("Voto: ", self.opcion)#imprime por quien voto

   #Metodo Votacion, imprime en pantalla reporte de la votacion
   def Votacion(self):
       print("C1 tiene: ", self.votos_c1)#imprime el total de votos de C1
       print("C2 tiene: ", self.votos_c2)#imprime el total de votos de C2
       print("C3 tiene: ", self.votos_c3)#imprime el total de votos de C3
 
#Segunda Clase llamada Estudiante
class Estudiante:
   #Metodo constructor de clase Estudiante
   def __init__(self):
       self.nombre = "JOHN JAIRO LOPEZ SANCHEZ" #Variable donde guarda el nombre estudiante
       self.codigo = "18158341"#Variable donde guarda el codigo del estudiante
       self.grupo = "301304_72"#Variable donde guarda el grupo del estudiante
       self.carrera = "Ingenieria de Sistemas"#Variable donde guarda la carerra del estudiante
   # Metodo Datos, donde se imprimen los datos del estudiante  
   def Datos(self):
       print(self.nombre)
       print(self.codigo)
       print(self.grupo)
       print(self.carrera)
       
#Arreglo con la ayuda de la lubreria NumPy
objeto: ndarray = np.empty((5,), dtype=np.object_)
#Metodo Menu de opciones
def Menu():
   opc=1 #variable de opciones
   contar=0 #variable de acumulador
   while opc > 0 and opc < 7: #permite seleccionar solo del 1 al 6
       #menu de opciones
       print("-----------BIENVENIDOS------------------")
       print("control de votos del fondo de empleados")
       print("----------------------------------------")
       print("***********Menu***************")
       print("------------------------------")
       print("1. Registrar voto de asociado")
       print("2. Mostrar asociados y votos")
       print("3. Ordenar por cedula")
       print("4. Mostrar datos del estudiante")
       print("5. Mostrar datos de la votación")
       print("6. Salir")
       print("------------------------------")
       print("Seleccione una opción")
       opc=int(input())#solicita ingresar el numero de la opcion seleccinada
       if opc == 1: #Si selecciona 1, llama a la clase Votos, y el metodo Capturar
           objeto[contar]=Votos()
           objeto[contar].Capturar()
           contar=contar+1 #aumenta una posicion en variable contar
           
       else:
           if opc == 2:#Si selecciona 2, llama a la clase Votos, y el metodo Imprimir
               I=0#Variable para comparar posicion de contar
               while I < contar: #si contar es mayor que i
                   objeto[I].Imprimir() #muestra el metodo Imprimir
                   I=I+1 #aumenta una posicion en la variable I
           else:
               if opc == 3:#Si selecciona 3, llama a la clase Votos, y el metodo Ordenar
                   Ordenar()
                   print ("se ha ordena por cedula")
               else:
                   if opc == 4:#Si selecciona 4, llama a la clase Estudiante, y el metodo Datos
                       objeto[contar]=Estudiante()
                       objeto[contar].Datos()
                   else:
                       if opc == 5:#Si selecciona 5, llama a la clase Votos, y el metodo Votacion
                           objeto[contar]=Votos()
                           objeto[contar].Votacion()
                           contar+=1
                           
                       else:
                           opc = 6 #Si selecciona 6, termina el programa, no hay mas opciones
                           print("Gracias por usar el programa")#Imprime en pantalla un saludo final
#Metodo ordenar, que permite ordenar los datos de identificacion de mayor a menor
def Ordenar():
   i=0
   k=0
   if i in range(5):
       if k in range(4):
           if(objeto[k].identificacion > objeto[k+1].identificacion):
               temp=objeto[k]
               objeto[k]=objeto[k+1]
               objeto[k+1]=temp

Menu()#Llama al metodo Menu




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)