Sistema de gestión de estudiantes en Python

Requisito previo: Clases y objetos en python

Declaración del problema:
escriba un programa para construir un sistema de gestión de estudiantes simple usando Python que pueda realizar las siguientes operaciones:

  1. Aceptar
  2. Monitor
  3. Búsqueda
  4. Borrar
  5. Actualizar

Enfoque: A continuación se muestra el enfoque para realizar las operaciones anteriores:

  1. Aceptar : este método toma detalles del usuario, como el nombre, el número de registro y las calificaciones de dos temas diferentes.
    # Method to enter new student details
    def accept(self, Name, Rollno, marks1, marks2 ):
        # Creates a new class constructor
        # and pass the details
        ob = Student(Name, Rollno, marks1, marks2 )
    
        # list containing objects of student class
        ls.append(ob)
    
  2. Pantalla : este método muestra los detalles de cada estudiante.
    # Function to display student details     
    def display(self, ob):
        print("Name   : ", ob.name)
        print("RollNo : ", ob.rollno)
        print("Marks1 : ", ob.m1)
        print("Marks2 : ", ob.m2)
        print("\n")    
    
  3. Buscar : este método busca un estudiante en particular de la lista de estudiantes.
    Este método le pedirá al usuario el número de rollo y luego buscará de acuerdo con el número de rollo.
    # Search Function    
    def search(self, rn):
        for i in range(ls.__len__()):
            # iterate through the list containing
            # student object and checks through
            # roll no of each object
            if(ls[i].rollno == rn):
                # returns the object with matching 
                # roll number
                return i 
    
  4. Eliminar : este método elimina el registro de un estudiante en particular con un número de registro coincidente.
    # Delete Function                                  
    def delete(self, rn):
        # Calls the search function 
        # created above
        i = obj.search(rn)  
        del ls[i]
    
  5. Actualizar : este método actualiza el número de registro del estudiante.
    Este método le pedirá el número de rollo antiguo y el número de rollo nuevo. Reemplazará el número de rollo anterior con el nuevo número de rollo.
    # Update Function   
    def update(self, rn, No):
        # calling the search function
        # of student class
        i = obj.search(rn)
        ls[i].rollno = No
    

    A continuación se muestra la implementación del enfoque anterior:

    # This is simplest Student data management program in python
    # Create class "Student"
    class Student:
        # Constructor
        def __init__(self, name, rollno, m1, m2):
            self.name = name
            self.rollno = rollno
            self.m1 = m1
            self.m2 = m2
             
        # Function to create and append new student   
        def accept(self, Name, Rollno, marks1, marks2 ):
            # use  ' int(input()) ' method to take input from user
            ob = Student(Name, Rollno, marks1, marks2 )
            ls.append(ob)
      
        # Function to display student details     
        def display(self, ob):
                print("Name   : ", ob.name)
                print("RollNo : ", ob.rollno)
                print("Marks1 : ", ob.m1)
                print("Marks2 : ", ob.m2)
                print("\n")    
             
        # Search Function    
        def search(self, rn):
            for i in range(ls.__len__()):
                if(ls[i].rollno == rn):
                    return i       
      
        # Delete Function                                  
        def delete(self, rn):
            i = obj.search(rn)  
            del ls[i]
      
        # Update Function   
        def update(self, rn, No):
            i = obj.search(rn)
            roll = No
            ls[i].rollno = roll;
             
    # Create a list to add Students
    ls =[]
    # an object of Student class
    obj = Student('', 0, 0, 0)
      
    print("\nOperations used, ")
    print("\n1.Accept Student details\n2.Display Student Details\n" /
          / "3.Search Details of a Student\n4.Delete Details of Student" /
          / "\n5.Update Student Details\n6.Exit")
      
    # ch = int(input("Enter choice:"))
    # if(ch == 1):
    obj.accept("A", 1, 100, 100)
    obj.accept("B", 2, 90, 90)
    obj.accept("C", 3, 80, 80)
             
    # elif(ch == 2):
    print("\n")
    print("\nList of Students\n")
    for i in range(ls.__len__()):    
        obj.display(ls[i])
                 
    # elif(ch == 3):
    print("\n Student Found, ")
    s = obj.search(2)
    obj.display(ls[s])
             
    # elif(ch == 4):
    obj.delete(2)
    print(ls.__len__())
    print("List after deletion")
    for i in range(ls.__len__()):    
        obj.display(ls[i])
                 
    # elif(ch == 5):
    obj.update(3, 2)
    print(ls.__len__())
    print("List after updation")
    for i in range(ls.__len__()):    
        obj.display(ls[i])
                 
    # else:
    print("Thank You !")
        
    Producción:

    Operations used,
    
    1.Accept Student details
    2.Display Student Details
    3.Search Details of a Student
    4.Delete Details of Student
    5.Update Student Details
    6.Exit
    
    
    
    List of Students
    
    Name   :  A
    RollNo :  1
    Marks1 :  100
    Marks2 :  100
    
    
    Name   :  B
    RollNo :  2
    Marks1 :  90
    Marks2 :  90
    
    
    Name   :  C
    RollNo :  3
    Marks1 :  80
    Marks2 :  80
    
    
    
     Student Found,
    Name   :  B
    RollNo :  2
    Marks1 :  90
    Marks2 :  90
    
    
    2
    List after deletion
    Name   :  A
    RollNo :  1
    Marks1 :  100
    Marks2 :  100
    
    
    Name   :  C
    RollNo :  3
    Marks1 :  80
    Marks2 :  80
    
    
    2
    List after updation
    Name   :  A
    RollNo :  1
    Marks1 :  100
    Marks2 :  100
    
    
    Name   :  C
    RollNo :  2
    Marks1 :  80
    Marks2 :  80
    
    
    Thank You !
    

Publicación traducida automáticamente

Artículo escrito por poojathigle y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *