我在使用这个 fifo 队列程序时遇到了麻烦,我已经编写了大部分代码,如下所示:
class fifoQueue:
__L = []
def __init__(self):
self.__L = []
def __len__(self):
return len(self.__L)
def empty(self):
if len(q) == 0:
return True
else:
return False
def enqueue(self, e):
self.__L.insert(0, e)
return self.__L
def dequeue(self):
if self.empty():
self.__L = [e]
else:
return self.__L.pop()
def __str__(self):
return "'" + str(self.__L) + "'"
我遇到的问题是 __ str __(self) 函数,我想要它做的是如果我调用 print(str(q)),则返回我的列表 self.__L 并带有“'”,但如果我只调用print(q) 我希望它返回列表。现在我得到 print(q) 和 print(str(q)) 相同的输出。
(print(str(q)) returns '[31.0]'
print(q) returns '[31.0]'
而我希望它回归
str(q) returns '[31.0]' or print(str(q)) returns '[31.0]'
print(q) returns [31.0]
我有数学背景,这是我学习的第一门语言,所以如果这是非常基础的,我很抱歉。 这是一个作业,我只能使用 __ str __ 来完成此任务,不能创建其他函数。 非常感谢任何指示。
dfjkajsfaj。阿斯利德菲亚尔菲亚。 alskfdjlakjfa slasdfkjalsjflasjflsa