如何在Python中执行一定次数的对象转换?

时间:2014-06-30 18:26:09

标签: python object translation

所以我无法找到解决此问题的方法。我想要一个对象,用户输入一个数字。该数字决定了物体在恒定距离和恒定方向上平移的次数                                                                                                                        现在我要举一个问题的例子。用户输入数字2.软件获取对象并创建在一定距离上翻译的副本。但是用户希望这发生2次,因此软件将副本翻译一定距离,因此现在有原始对象,对象的翻译副本和对象副本的翻译副本。现在我担心软件可能会将输入解释为原始对象的2个副本并翻译对象。现在翻译的对象位于相同的位置,而不是以恒定距离分开。这个问题有解决方案吗?

1 个答案:

答案 0 :(得分:1)

由于你没有提供所有细节,我假设有一个函数translate作为对象的一部分,将其转换为所需的数量。基于此,快速想一想它会是什么样的

def translate_n_times(n, distance, object):
    cur_object = object
    obj_list = []
    obj_list.append(object)
    for i in range(0,n):
        new_object = copy.deepcopy(cur_object)
        new_object.translate(distance)
        obj_list.append(new_object)
        cur_object = new_object
    return obj_list

这并不完美,但它应该是你想要做的事情的大纲。通过每次保持对象的引用,您确保始终基于最后一个副本进行翻译。