class Student:
def_init__(selfsidnameheightsex): selfsid=sid
selfname=name self.height=height selfsex=sex def print():
#补充代码,打印本同学的全部信息
class Student:
def __init__(self,sid,name,height,sex):
self.sid=sid
self.name=name
self.height=height
self.sex=sex
def print(self):
print(self.sid,self.name,self.height,self.sex)
stu = Student('1001','彪子','180cm','男')
stu.print()
运行结果:
可以参考下:
class Student:
def __init__(self, sid, name, height, sex):
self.sid = sid
self.name = name
self.height = height
self.sex = sex
def print(self):
print(f"学号:{self.sid},姓名:{self.name},身高:{self.height},性别:{self.sex}")
if __name__ == '__main__':
student = Student('20230001', '花花', 165.8, '女')
student.print()
运行结果:
示意图第二种表示树的方法使用节点和引用。在这种情况下,我们将定义一个具有根值属性的类,以及左和右子树。 它的结构类似于下图:
循环队列实现代码示例:
class CircularQueue: def init(self, k: int): self.k = k self.items = [None] * k self.head = -1 self.tail = -1
def enqueue(self, value: int) -> bool:
if self.is_full(): # 队列已满
return False
if self.is_empty(): # 队列为空
self.head = 0
self.tail = (self.tail + 1) % self.k # 取模实现循环
self.items[self.tail] = value
return True
def dequeue(self) -> bool:
if self.is_empty(): # 队列为空
return False
if self.head == self.tail: # 队列只有一个元素
self.head = -1
self.tail = -1
return True
self.head = (self.head + 1) % self.k # 取模实现循环
return True
def front(self) -> int:
if self.is_empty(): # 队列为空
return -1
return self.items[self.head]
def size(self) -> int:
if self.is_empty(): # 队列为空
return 0
if self.tail >= self.head:
return self.tail - self.head + 1
else:
return self.tail + self.k - self.head + 1
def is_empty(self) -> bool:
return self.head == -1
def is_full(self) -> bool:
return (self.tail + 1) % self.k == self.head
q = CircularQueue(3) # 创建一个长度为3的循环队列 print(q.enqueue(1)) # True print(q.enqueue(2)) # True print(q.enqueue(3)) # True print(q.enqueue(4)) # False print(q.front()) # 1 print(q.size()) # 3 print(q.dequeue()) # True print(q.front()) # 2 print(q.size()) # 2