python设计一个学生类求最高分_设计一个学生类&班级类

第一题

设计一个学生类

属性:姓名、学号、年龄、成绩

设计一个班级类要求:实现向班级中添加学生、删除学生、查看学生、按照指定条件排序

属性:班级代号,所有学生

需要使用

calss, __int__, __str__, sort, append, dict, list, remove, for in

class Stu:

# 设置学生基础属性

def __init__(self, name, num, age, score):

self.name = name

self.num = num

self.age = age

self.score = score

def __str__(self):

return '姓名:{},学号:{},年龄:{},成绩{}'.format(self.name, self.num, self.age, self.score)

# 查看学生类是否创建成功

# c = Stu('小米', 100, 18, 66)

# print(c)

class Class1:

def __init__(self, name):

self.name = name

self.class_dict = {}

self.class_list = []

def add_stu(self, stu):

# 添加学生至对应字典列表

self.class_dict[stu.num] = stu

self.class_list.append(stu)

def del_stu(self, num):

# 弹出后删除

stu_danchu = self.class_dict.pop(num)

self.class_list.remove(stu_danchu)

def sort_stu(self, key, reverse=False):

# 排序

self.class_list.sort(key=key, reverse=reverse)

def show_class(self):

# 打印

print(self.name)

for i in self.class_list:

print(i)

def chazhao_stu(self, num):

return print(self.class_dict.get(num))

# 测试代码

import random

c1 = Class1('python')

for i in range(10):

name = 'stu' + str(i)

num = 100 + i

age = random.randint(18, 25)

score = random.randint(70, 100)

c = Stu(name, num, age, score)

c1.add_stu(c)

# 展示

c1.show_class()

# 排序

c1.sort_stu(key=lambda s: s.num, reverse=True)

# 查找

c1.chazhao_stu(108)

# 删除

c1.del_stu(109)

c1.show_class()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值