【发布时间】:2018-10-23 02:01:28
【问题描述】:
我正在尝试创建一个 MarblesBoard 类,还包括开关和旋转功能。
我的代码如下:
class MarblesBoard():
def __init__(self, balls):
self.balls = balls
def __repr__(self):
return " ".join(str(i) for i in self.balls)
def switch(self):
lst=list(self.balls)
lst[0], lst[1] = lst[1], lst[0]
return lst
def rotate(self):
lst=list(self.balls)
lst = lst[1:]+lst[:1]
return self.balls
输出应该是这样的:
>>> board = MarblesBoard((3,6,7,4,1,0,8,2,5))
>>> board
3 6 7 4 1 0 8 2 5
>>> board.switch()
>>> board
6 3 7 4 1 0 8 2 5
>>> board.rotate()
>>> board
3 7 4 1 0 8 2 5 6
>>> board.switch()
>>> board
7 3 4 1 0 8 2 5 6
但是,当我使用 switch 或 rotate 时,它会调用原始球列表。不知道如何解决这个问题。
【问题讨论】:
标签: python python-3.x list sorting