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:
- Aceptar
- Monitor
- Búsqueda
- Borrar
- Actualizar
Enfoque: A continuación se muestra el enfoque para realizar las operaciones anteriores:
- 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)
- 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")
- 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
- 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]
- 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