設計一個學生類&班級類



第一題
  • 設計一個學生類
    • 屬性:姓名、學號、年齡、成績
  • 設計一個班級類要求:實現向班級中添加學生、刪除學生、查看學生、按照指定條件排序
    • 屬性:班級代號,所有學生
  • 需要使用
  • 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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM