首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在类中的函数之间移动信息

在类中的函数之间移动信息
EN

Stack Overflow用户
提问于 2012-12-27 05:38:52
回答 1查看 99关注 0票数 0

我想写一个函数,保存用户在函数move()中插入到参数plays中的所有字符串,在函数undo()中插入到字符串undo_str中。这里我漏掉了什么?

代码语言:javascript
运行
复制
class Sokoban:
        def __init__(self, board):
                self.board = board.copy()

        def move(self, plays):
             ............

        def undo(self):
                undo_str=""
                undo_str=undo_str[:]+plays
                self.undo=undo_str[:-1]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-27 05:55:37

我希望这能有所帮助。如果再添加几个类属性来保存信息,应该会相当容易。在这里,init方法将sokoban.plays和sokoban undo_str初始化为空字符串。sokoban.move('string')会将sokoban.plays更改为'string',而sokoban.undo_str()会将当前字符串添加到sokoban.undo_str

代码语言:javascript
运行
复制
class Sokoban:
    def __init__(self, board):
            self.board = board.copy()
            self.plays = ''
            self.undo_str = ''

    def move(self, plays):
         self.plays = plays
         ............

    def undo(self):
            undo_str=undo_str[:]+self.plays


sokoban = Sokoban(board)
sokoban.move('play1')
sokoban.undo()
sokoban.move('play2')
sokoban.undo()

In: sokoban.plays 
Out 'play2'

In: sokoban.undo_str
Out: 'play1play2'

(注意,我去掉了行'self.undo = self.undo_str:-1‘。这将与函数self.undo冲突)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14046572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档