所以我无法找到解决此问题的方法。我想要一个对象,用户输入一个数字。该数字决定了物体在恒定距离和恒定方向上平移的次数 现在我要举一个问题的例子。用户输入数字2.软件获取对象并创建在一定距离上翻译的副本。但是用户希望这发生2次,因此软件将副本翻译一定距离,因此现在有原始对象,对象的翻译副本和对象副本的翻译副本。现在我担心软件可能会将输入解释为原始对象的2个副本并翻译对象。现在翻译的对象位于相同的位置,而不是以恒定距离分开。这个问题有解决方案吗?
答案 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
这并不完美,但它应该是你想要做的事情的大纲。通过每次保持对象的引用,您确保始终基于最后一个副本进行翻译。