#创建一个列表,其中包含一些要打印的设计
unprinted_designs = ['iphone case', 'root pendant', 'dodecahedron']
completed_models = []
#模拟打印每个设计,直到没有打印的为止,打印每个设计之后,都将其移动到completed_models列表中
while unprinted_designs:
current_design = unprinted_designs.pop()
#模拟3d打印的过程
print("Printing model: " + current_design)
completed_models.append(current_design)
#显示打印的所有模型
print("\nThe following models have been printed: ")
for completed_model in completed_models:
print(completed_model)
这样将unprinted_designs列表中的数据pop出来之后,导致原来的数据没有备份
所以如果为了防止原始数据被破坏可以将操作列表的工作函数化之后,传入的参数是列表的副本——即列表的切片
print_models(unprinted_designs[:], completed_models)
#列表的切片
def print_models(unprinted_designs,completed_models):
print('\n')
while unprinted_designs: