Open In App

Student management system in Python

Improve
Improve
Like Article
Like
Save
Share
Report

Problem Statement: Write a program to build a simple Student Management System using Python which can perform the following operations:

  1. Accept
  2. Display
  3. Search
  4. Delete
  5. Update
Prerequisite: Classes and objects in python 

Approach: Below is the approach to doing the above operations:

  1. 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)
  1. 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")    
  1. 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 
  1. 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]
  1. 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 a 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: 

Python3




# 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\n3.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 !


Last Updated : 04 Aug, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads