为什么不是长度(自我。下一个)python中的有效表达式?

2024-04-20 13:49:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中定义了一个类,它严格地将自己限制为单链表的固有属性。你知道吗

next是指向下一个元素的指针。你知道吗

全班同学:

class Node:
    def __init__(self, v = None):
        self.value = v
        self.next = None
        return

## A function to determine the length of the linked list:
def length(self):
  if self.value == None:
    return(0)
  elif self.next == None:
    return(1)
  else:
    return(1+length(self.next))

为什么表达式1+length(self.next)无效?为什么我要用1+self.next.length()?你知道吗


Tags: theselfnone元素return属性定义value
1条回答
网友
1楼 · 发布于 2024-04-20 13:49:44

什么是lengthlength不存在,但Node.length存在。你知道吗

return(1+length(self.next))不起作用的原因是您正在调用length(),而不是Node.length()。你知道吗

相反,请尝试以下方法:

return(1+LinkedList.length(self.next))

或者这个(我的偏好):

return(1+self.next.length())

相关问题 更多 >