在Python中,在while循环之外自动更改变量的值

2024-03-29 14:59:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的不知道如何正确地问这个问题,所以请你容忍我。所以

b=1

a=b

while (a<10):
    b+=1
    #a=b
    print a, b

这将返回一个无限循环,除非我删除#。我要问的是:有没有一种方法可以更新vara的值而不必在循环中放入“a=b”?在我的实际脚本中,a的值是一个非常大的公式,我不想在每个嵌套循环中都携带它,因为它看起来很难看。我试过用“global a”,但还是不行。有什么想法吗?在

编辑

正如我们所建议的,真正的代码是:

^{pr2}$

Tags: 方法代码脚本编辑global建议公式嵌套循环
2条回答

在python中,整数是通过值而不是引用复制的。因此,如果你想通过引用复制,你必须在python中定义它们列表。尝试这个代码

#python 3.4
b=[1]

a=b

while (a[0]<10):
    b[0]=b[0]+1
    #a=b
    print(a[0], b[0])

您需要创建单独的函数,并参数化公式。试试这样的方法:

def calculate_value(oats=50, egg_whites=4, green_apple=1):
   oats_value = (8*9+11*4+60*4)*oats_min/100
   egg_whites_value = (0.1*9+3.6*4+0.2*4)*egg_whites
   green_apple = (0.3*9+0.5+4+20.6*4)*green_apple  
   return (oats_value, egg_whites_value, green_apple)

现在,在实际方法中,只需使用以下值调用它:

^{pr2}$

相关问题 更多 >