运行模块
from day1_1_1 import Student
from day1_1 import Seqlist
d = Seqlist(7)
Student1 = Student('小红', 18, '女', '1班', 88)
Student2 = Student('小花', 17, '女', '2班', 98)
Student3 = Student('小明', 18, '男', '2班', 78)
Student4 = Student('小刚', 17, '男', '1班', 100)
Student5 = Student('小周', 19, '男', '3班', 98)
d.add(Student1, Student2, Student3)
print(type(d.data[1]))
print(d.look())
print(d.data[0].name,d.data[1].name, d.data[2].name)
print('增加')
d.add_up(Student4, 1)
print(d.data[0].name,d.data[1].name, d.data[2].name)
print(d.look())
print('删除')
d.remove_up(1)
print(d.look())
print('改')
d.reverse(Student5,0)
d.find_up(Student2,Student4)
print(d.look())
print('查')
print(d.find(Student5))
class Student:
def __init__(self, name, age, sex, cl, gr):
self.name = name
self.age = age
self.sex = sex
self.cl = cl
self.gr = gr
self.print = f'姓名:{self.name};年龄:{self.age};性别:{self.sex};班级:{self.cl};分数:{self.gr}'
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_up(self, item, arge):
if arge > self.size or arge < 0:
print('插入位置不正确')
elif not self.is_full():
self.size = self.size + 1
for i in range(arge, self.size):
self.data[self.size + arge - i] = self.data[self.size + arge - i - 1]
self.data[arge] = item
else:
print('达到最大值,无法插入')
#添加元素
def add(self, *item):
if not self.is_full():
for i in item:
self.data[self.size] = i
self.size += 1
return True
else:
return False
#查找元素
def find(self, item):
if not self.is_empty():
for i in range(self.size):
if self.data[i] == item:
return i
return None
#删除元素
def remove(self):
if self.is_empty():
return False
else:
self.data[self.size - 1] = None
self.size -= 1
return True
def remove_up(self, arge):
if not self.is_empty() and 0 <= arge < self.size:
for i in range(arge, self.size - 1):
self.data[arge] = self.data[arge + 1]
arge = arge + 1
self.data[self.size - 1] = None
self.size -= 1
elif self.is_empty():
print('为空')
else:
print('删除量不存在')
#遍历
def show(self):
if self.is_empty():
print("遍历失败")
return False
for i in range(self.size):
print(self.data[i], end=' ')
print()
def reverse(self, item, arge):
if self.is_empty():
print('是空')
elif arge > self.size or arge < 0:
print('下标不存在')
else:
self.data[arge] = item
def find(self, item):
if not self.is_empty():
for i in range(self.size):
if self.data[i] == item:
return f'存在,在序列位置{i}处'
else:
return None
def find_up(self, item, new_item):
if item in self.data:
for i in range(self.size):
if self.data[i] == item:
self.data[i] = new_item
elif self.is_empty():
print('为空')
else:
print(f'无{item}值')
def qc(self):
if self.is_empty():
return False
else:
for i in range(self.size):
for j in range(i + 1, self.size):
if self.data[i] == self.data[j]:
for n in range(j, self.size - 1):
self.data[n] = self.data[n + 1]
self.size -= 1
def look(self):
s = ''
for i in self.data:
if i is not None:
s = s + i.print + '\n'
return s[:len(s) - 1]