我被指派删除一个链表中的元素,其总和为0。我试过这个密码。但我有个错误 “AttributeError:'NoneType'对象没有属性'data'”
import random
class Node :
def __init__( self, data ) :
self.data = data
self.next = None
self.prev = None
def givedata(self):
return self.data
class LinkedList :
def __init__( self ) :
self.head = None
def add( self, data ) :
node = Node( data )
if self.head == None :
self.head = node
else :
node.next = self.head
node.next.prev = node
self.head = node
def search( self, k ) :
p = self.head
if p != None :
while p.next != None :
if ( p.data == k ) :
return p
p = p.next
if ( p.data == k ) :
return p
return None
def remove( self, p ) :
tmp = p.prev
p.prev.next = p.next
p.prev = tmp
def list_print(self):
node = self.head
while node:
print (node.data,end=" ")
node = node.next
def getdata(self):
self.nodedata=self.head
return self.nodedata.data
脚本:
ll=LinkedList()
for i in range(random.randint(2,10)):
ll.add(random.randint(-50,50))
ll.list_print()
print('\n')
l1=LinkedList()
while ll:
while l1:
if l1.getdata()+ll.getdata()==0:
print("0\n")#just to know if this works or not
l1=l1.head.next
ll=ll.head.next
我试图访问特定元素的链表中的数据。 你能帮我浏览一下链表吗
您可以选择省略某些属性,但不能选择添加超出已定义属性的其他属性。你知道吗
这个错误只是说属性数据宽度不能在您使用它的地方使用。你知道吗
你得到这个错误是因为
创建一个名为l1的新链表,但您没有向其中添加任何元素,它是一个头部为None的空链表。你知道吗
当你打电话的时候
你看到那个错误了吗
编辑
这段代码应该是你想要的
创建
l1 = LinkedList()
时,.head
被初始化为None
。调用.getdata()
时会出现问题,因为该方法试图调用self.head.data
,这相当于调用None.data
。你知道吗可以使用以下方法修复
.getdata
方法:相关问题 更多 >
编程相关推荐