class Student:
# 初始化函数,创建学生对象时被调用
def __init__(self, No, Name, Gender, Age):
self.No = No
self.Name = Name
self.Gender = Gender
self.Age = Age
# 显示学生信息
def show(self):
print("%-16s %-16s %-8s %-4d" % (self.No, self.Name, self.Gender, self.Age))
class StudentList:
def __init__(self):
self.students = []
# 显示所有学生信息
def show(self):
print("%-16s %-16s %-8s %-4s" % ("No", "Name", "Gender", "Age"))
for s in self.students:
s.show()
# 插入一个新学生
def __insert(self, s):
i = 0
while i < len(self.students) and s.No > self.students[i].No:
i = i + 1
if i < len(self.students) and s.No == self.students[i].No:
print(s.No + " 已经存在")
return False
self.students.insert(i, s)
print("增加成功")
return True
# 更新一个学生信息
def __update(self, s):
flag = False
for i in range(len(self.students)):
if s.No == self.students[i].No:
self.students[i].Name = s.Name
self.students[i].Gender = s.Gender
self.students[i].Age = s.Age
print("修改成功")
flag = True
break
if not flag:
print("没有这个学生")
return flag
# 删除一个学生
def __delete(self, No):
flag = False
for i in range(len(self.students)):
if self.students[i].No == No:
del self.students[i]
print("删除成功")
flag = True
break
if not flag:
print("没有这个学生")
return flag
# 对外公开的删除学生方法
def delete(self):
No = input("No=")
if No != "":
self.__delete(No)
# 对外公开的插入学生方法
def insert(self):
No = input("No=")
Name = input("Name=")
while True:
Gender = input("Gender=")
if Gender == "男" or Gender == "女":
break
else:
print("Gender is not valid")
Age = input("Age=")
if Age == "":
Age = 0
else:
Age = int(Age)
if No != "" and Name != "":
self.__insert(Student(No, Name, Gender, Age))
else:
print("学号、姓名不能为空")
# 对外公开的更新学生信息方法
def update(self):
No = input("No=")
Name = input("Name=")
while True:
Gender = input("Gender=")
if Gender == "男" or Gender == "女":
break
else:
print("Gender is not valid")
Age = input("Age=")
if Age == "":
Age = 0
else:
Age = int(Age)
if No != "" and Name != "":
self.__update(Student(No, Name, Gender, Age))
else:
print("学号、姓名不能为空")
# 处理用户输入的命令
def process(self):
while True:
s = input(">")
if s == "show":
self.show()
elif s == "insert":
self.insert()
elif s == "update":
self.update()
elif s == "delete":
self.delete()
elif s == "exit":
break
else:
print("show: show students")
print("insert: insert a new student")
print("update: insert a new student")
print("delete: delete a student")
print("exit: exit")
st = StudentList()
st.process()
09-09
251
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-30
6819
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-21
1546
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-10
5636
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交