顺序表【学生的储存】

代码---封装 学生类

# 封装一个学生类
class Student:
    # 类属性
    grade="2502班"
    # 构造函数 对象属性
    def __init__(self,name="",idx=""):
        self.name=name
        self.idx=idx
    def __str__(self):
        return f"姓名:{self.name:6}学号:{self.idx:4}"
    def __eq__(self, other):
        if self.name==other.name and self.idx==other.idx:
            return True

代码---顺序表

# 导入模块 学生类
from stu import Student
# 封装一个顺序表
class SeqList:
    # 构造函数 初始化顺序表的容量、已经存储数据的长度、存储数据
    def __init__(self,capacity=10):
        self.capacity=capacity
        self.size=0
        self.data=[None]*capacity
    # 判满
    def is_full(self):
        return self.size==self.capacity
    # 判空
    def is_empty(self):
        return self.size==0
    # 增 尾插
    def add_stu(self,name,idx):
        # 判满 终止
        if self.is_full():
            print("添加失败")
            return
        else:
            # 实例化学生对象 存放至顺序表 已存放数据长度改变
            stu=Student(name, idx)
            self.data[self.size]=stu
            self.size+=1
    # 增 任意位置插入
    def insert_add(self,index,name,idx):
        # 判断插入位置是否合理
        if self.is_full() or index<0 or index>self.size:
            print("添加失败")
            return
        else:
            # 腾位
            i=0
            while iself.size:
            print("删除失败")
        else:
            i=index
            while iself.size:
            print("修改失败")
        else:
            self.data[index]=Student(name,idx)
    # 改 按姓名修改
    def modify_key(self,old_name,new_name,new_idx):
        # 判断修改的内容是否合理
        if self.is_empty():
            print("修改失败")
        else:
            i=0
            while i

运行结果:

D:\Python3.10\python.exe "C:\Users\dell\OneDrive\桌面\04 数据结构(3.31-4.7)\day1\作业\顺序表【存储学生】.py" 
===== 测试【添加-尾插】 =====
姓名:Alice 学号:001 
姓名:Alice 学号:001 
姓名:Bob   学号:002 
姓名:Alien 学号:004 
姓名:Tom   学号:005 
姓名:Bob   学号:002 
姓名:Alien 学号:004 
姓名:Alien 学号:007 
姓名:Tom   学号:008 

===== 测试【添加-位置】 =====
姓名:Alice 学号:001 
姓名:Alice 学号:001 
姓名:Andy  学号:003 
姓名:Bob   学号:002 
姓名:Alien 学号:004 
姓名:Tom   学号:005 
姓名:Bob   学号:002 
姓名:Alien 学号:004 
姓名:Alien 学号:007 
姓名:Tom   学号:008 

===== 测试【删除-位置】 =====
姓名:Alice 学号:001 
姓名:Alice 学号:001 
姓名:Andy  学号:003 
姓名:Bob   学号:002 
姓名:Tom   学号:005 
姓名:Bob   学号:002 
姓名:Alien 学号:004 
姓名:Alien 学号:007 
姓名:Tom   学号:008 

===== 测试【修改-位置】 =====
姓名:Alice 学号:001 
姓名:Alice 学号:001 
姓名:Anna  学号:003 
姓名:Bob   学号:002 
姓名:Tom   学号:005 
姓名:Bob   学号:002 
姓名:Alien 学号:004 
姓名:Alien 学号:007 
姓名:Tom   学号:008 

===== 测试【修改-关键字】 =====
姓名:Alice 学号:001 
姓名:Alice 学号:001 
姓名:Anna  学号:003 
姓名:Bob   学号:002 
姓名:Tom   学号:005 
姓名:Bob   学号:002 
姓名:Tina  学号:006 
姓名:Alien 学号:007 
姓名:Tom   学号:008 

===== 测试【查找返回位置】 =====
3
===== 测试【去重】 =====
姓名:Alice 学号:001 
姓名:Anna  学号:003 
姓名:Bob   学号:002 
姓名:Tom   学号:005 
姓名:Tina  学号:006 
姓名:Alien 学号:007 
姓名:Tom   学号:008 


进程已结束,退出代码为 0

你可能感兴趣的:(python,开发语言)