Student management system in Python

29 Dec, 2020
Prerequisite: Classes and objects in python
Problem Statement:Write a program to build a simple Student Management System using Python which can perform following operations:
AcceptDisplaySearchDeleteUpdate
Accept
Display
Search
Delete
Update
Approach: Below is the approach to do the above operations:
Accept – This method takes details from the user like name, roll number, and marks for two different subjects.# 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)
Display – This method displays the details of every student.# 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 – This method searches for a particular student from the list of students.This method will ask the user for roll number and then search according to the roll number# 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 
Delete – This method deletes the record of a particular student with a matching roll number.# Delete Function                                  
def delete(self, rn):
    # Calls the search function 
    # created above
    i = obj.search(rn)  
    del ls[i]
Update – This method updates the roll number of the student.This method will ask for the old roll number and new roll number. It will replace the old roll number with new roll number.# Update Function   
def update(self, rn, No):
    # calling the search function
    # of student class
    i = obj.search(rn)
    ls[i].rollno = No
Below is the implementation of the above approach:# 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 Studentsls =[]# an object of Student classobj = 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 !")    Output: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 !
My Personal Notes
arrow_drop_upSave
Accept – This method takes details from the user like name, roll number, and marks for two different subjects.# 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)

# 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)

Display – This method displays the details of every student.# 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")    

# 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 – This method searches for a particular student from the list of students.This method will ask the user for roll number and then search according to the roll number# 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 

# 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 

Delete – This method deletes the record of a particular student with a matching roll number.# Delete Function                                  
def delete(self, rn):
    # Calls the search function 
    # created above
    i = obj.search(rn)  
    del ls[i]

# Delete Function                                  
def delete(self, rn):
    # Calls the search function 
    # created above
    i = obj.search(rn)  
    del ls[i]

Update – This method updates the roll number of the student.This method will ask for the old roll number and new roll number. It will replace the old roll number with new roll number.# Update Function   
def update(self, rn, No):
    # calling the search function
    # of student class
    i = obj.search(rn)
    ls[i].rollno = No
Below is the implementation of the above approach:# 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 Studentsls =[]# an object of Student classobj = 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 !")    Output: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 !
My Personal Notes
arrow_drop_upSave
# Update Function   
def update(self, rn, No):
    # calling the search function
    # of student class
    i = obj.search(rn)
    ls[i].rollno = No

Below is the implementation of the above approach:
# 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 Studentsls =[]# an object of Student classobj = 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 !")    
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 !

Akanksha_Rai
Python Oops-programs
Python-OOP
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
How to Install PIP on Windows ?
*args and **kwargs in Python
Python Classes and Objects
Iterate over a list in Python
Python OOPs Concepts