我想写一些代码来生成一个数字列表。我刚开始学习python类。我很肯定这是我能做的,但我想我只是不明白问题是要我做什么。所以我应该有一个私有的实例变量来表示数字的行和列(表示为列表列表)。你知道吗
例如board = SlidingPuzzle(3, 4)
这将创建以下列表:
[[0,1, 2, 3],[4, 5, 6, 7],[8, 9, 10, 11]]
class SlidingPuzzle:
def __init__(self, numRows, numCols):
self.__numRows = numRows
self.__numCols = numCols
outerList = []
num = -1
for i in range(__numRows):
innerList = []
for j in range(__numCols):
num = num + 1
list.append(num)
outerList.append(innerList)
return outerList
您的问题描述特别指出:
创建这样一个列表,但不是将其存储在私有实例变量中,而是试图
return
它。您只需更改最后一行:…至:
更一般地说:
__init__
函数从不return
的东西。调用者只是在写puzzle = SlidingPuzzle()
,所以它唯一得到的是你的self
实例,而不是你试图return
给它的任何东西。__init__
的要点是让您将值存储在属性中,以供以后的方法使用。这就是为什么你的任务要求你这么做。你知道吗所以通常类都有类似于初始化器(
__init__(...)
)的方法,但是初始化器不应该返回任何东西(实际上是返回这个类的实例),所以我添加了另一个函数getrows()
,它(我认为)将执行您尝试过的操作。你应该考虑学习一点python——只需在google上“learnpython”,然后尝试一门你可以在浏览器中完成的课程,比如codecadamy那就试着打电话
foo = SlidingPuzzle()
初始化这能回答你的问题吗?你知道吗
相关问题 更多 >
编程相关推荐