我第一次尝试在python中实现linked_lists,但我的附加函数似乎不能正常工作。以下是目前为止的代码:
class node:
def __init__(self, Name = None, Contact_number = None, Type = None, Urgency = None):
self.Name = Name
self.Contact_number = Contact_number
self.Type = Type
self.Urgency = Urgency
self.next = None
class linked_list:
def __init__(self):
self.head = node()
def append(self, Name, Contact_number, Type, Urgency):
new_node = node(self,Name,Contact_number,Type,Urgency)
cur = self.head
while cur.next != None:
cur = cur.next
cur.next = new_node
def length(self):
cur = self.head()
total = 0
while cur.next != None:
total+=1
cur=cur.next
return total
def display(self):
Appointments = []
cur_node = self.head
while cur_node.next != None:
cur_node = cur_node.next
aptmnt = (cur_node.Name, cur_node.Contact_number, cur_node.Type, cur_node.Urgency)
Appointments.append(aptmnt)
print(Appointments)
general_surgeon = linked_list()
general_surgeon.display()
general_surgeon.append("Akash", "827xxxxxx1", "Min Surgery", "no")
下面是我尝试使用附加函数时遇到的错误:
TypeError Traceback (most recent call last)
<ipython-input-27-0ffb4f93a9c0> in <module>
39 general_surgeon.display()
40
---> 41 general_surgeon.append("Akash", "827xxxxxx1", "Min Surgery", "no")
<ipython-input-27-0ffb4f93a9c0> in append(self, Name, Contact_number, Type, Urgency)
12
13 def append(self, Name, Contact_number, Type, Urgency):
---> 14 new_node = node(self,Name,Contact_number,Type,Urgency)
15 cur = self.head
16 while cur.next != None:
TypeError: __init__() takes from 1 to 5 positional arguments but 6 were given
我一直在直接从youtube视频中复制链接列表的基本结构和功能,除了我的代码有更多的数据变量之外,我注意到我的代码和他的没有区别。
请帮帮忙?
发布于 2020-10-14 04:57:40
def append(self, Name, Contact_number, Type, Urgency):
new_node = node(self,Name,Contact_number,Type,Urgency)
因为要调用node
类,所以不需要传递self
参数。
发布于 2020-10-14 05:01:29
下面是错误,它已经显示为一个TypeError
TypeError: __init__() takes from 1 to 5 positional arguments but 6 were given
所以你在line # 14
中给出了6个参数,而不是5个
无需将self
作为参数传递到node class
at line # 14
中
试着用这个:
def append(self, Name, Contact_number, Type, Urgency):
new_node = node(Name, Contact_number, Type, Urgency)
cur = self.head
while cur.next != None:
cur = cur.next
cur.next = new_node
https://stackoverflow.com/questions/64346826
复制相似问题