我自学Python使用How to Think Like a Computer Scientist
。我从文本中复制了这段代码,但由于某些原因,我的代码出现了错误。任何人都可以看到我失踪的东西吗?为什么Python说print_list
没有定义?节点对象不能正常工作的打印方法
class Node:
def __init__(self, cargo = None, next = None):
self.cargo = cargo
self.next = next
def __str__(self):
return str(self.cargo)
def print_list(node):
while node:
print node,
node = node.next
print
以下是错误:
==== RESTART: /Desktop/Programming Career/Untitled.py ====
Traceback (most recent call last):
File "Users/Desktop/Programming Career/Untitled.py", line 24, in <module>
print_list(node1)
NameError: name 'print_list' is not defined
我试图定义这样的print_list:
def print_list(self):
for node in self:
print node,
node = node.next
print
,但我得到了同样的错误: NameError: name 'print_list' is not defined
将'print_list'移出'Node'的定义。 – ForceBru
您的代码缩进存在问题,请修复它,以便我们为您提供帮助! – Arman
Unindent函数print_list()不是类Node的一部分。 –