2015-12-02 114 views
0

对于下面的代码,在运行start_point = start_point/10之后,它的值降至1,000,并且如果随后调用它,它将保持原样。Python:重置变量

我可以知道如何将它重设为原来的10,000?我相信一种方法是设置一个全局变量。但有没有更简单的方法?像seek(0)

def secret_formula(started): 
    jelly_beans = started * 500     
    jars = jelly_beans/1000     
    crates = jars/100       
    return jelly_beans, crates, jars     

start_point = 10000 
item_1, item_2, item_3 = secret_formula(start_point) 

print "With a starting point of: %d" % start_point 
print "We'd have %d beans, %d jars, and %d crates." % (item_1, item_2, item_3) 

start_point = start_point/10 

print "We can also do that this way:" 
print "We'd have %d beans, %d jars, and %d crates." % secret_formula(start_point) 
+0

为什么你甚至保存新的价值,如果你打算在之后重置它呢?为什么不只是'打印'我们会有%d豆,%d罐和%d箱。“ %secret_formula(start_point/10)'而不是? –

+0

谢谢你指出。应该做到这一点! – ferry

回答

1

会创建另一个变量的工作?

original_start_point = 1000 
start_point = original_start_point 
+1

是的,这应该工作。通过这种方式,OP可以总是使用'start_point = original_start_point'恢复到所需的*“原始值”*,只要它们只改变'start_point'变量并且不与'original_start_point'一起工作,否则(它不会被修改) 。 –

+0

是的,这将工作。非常感谢小费。 – ferry

+0

如果满足您的问题,请随时接受答案 – user2682863