class student:
def __init__(self,name,number,age,grade):
self.name = name
self.number =number
self.age = age
self.grade = grade
def __str__(self):
return "姓名:{}学号:{}年龄:{}成绩:{}".format(self.name,self.number,self.age,self.grade)
class class1:
def __init__(self,name):
self.name = name
self.stu_list = []
self.stu_dict = {}
def add_student(self,stu): #添加学生
self.stu_list.append(stu)
self.stu_dict[stu.number] = stu#注意字典键值对要用[]
def show_student(self,number):#学生信息
for i in self.stu_list:
print(i )
def sort_student(self,key,reverse = True): #也可以写成key =None ,学生排序
self.key = key
self.reverse = reverse
self.stu_list.sort(key = self.key,reverse =self.reverse)
def del_student(self,number): #删除学生
student = self.stu_dict.pop(number) #从字典中删除并弹出,字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值。
self.stu_list.remove(student)#从列表中删除,list.remove(obj)移除列表中某个值的第一个匹配项
c = class1('zz-JY-python1901')
from random import randint
#import语句 ,因randint()函数属于random模块,必须在函数名称之前先加上random,告诉Python在random模块中寻找这个函数。
# from import语句,这是导入模块的另一种形式,使用这种形式的 import 语句, 调用 模块中的函数时不需要 moduleName. 前缀 。但是,使用完整的名称会让代码更可读,所以最好是使用普通形式的 import 语句
#添加学生
for i in range(10):
name = 'stu'+str(i+1)
number = 100 +i
age = randint(20,30)
grade = randint(0,100)
stu = student(name,number,age,grade)
c.add_student(stu)
#c.add_student(stu)这行应加在循环里边,不然只有一个信息
c.sort_student(key=lambda s: s.grade, reverse=True) #ambda就是用来定义一个匿名函数 例:add = lambda x, y : x+y
c.show_student(number)
c.del_student(106)
print(' ')
c.show_student(number)
- 设计一个学生类 - 属性:姓名、学号、年龄、成绩 - 设计一个班级类 - 属性:班级代号,所有学生 - 要求:实现向班级中添加学生、删除学生、查看学生、按照
猜你喜欢
转载自blog.csdn.net/qq_41525874/article/details/88539020
今日推荐
周排行