'int'对象不可迭代 - 而不是用布尔循环

时间:2017-09-18 16:13:29

标签: python-2.7 if-statement while-loop boolean iteration

我有以下问题: 我想在真假条件下使用while循环。我定义条件并分别告诉循环当条件为True和False时要做什么。但是,在'converge = False,j = 1'(请参阅下面的代码)行中,我得到消息'int'对象不可迭代。你能帮帮忙吗?我不知道这里的问题是什么,因为我对python很新。

模型运行的条件应该停止在稳定状态(当斜率不再变化时)

Final_pools_2 = [pools_2[-1,:]]
converge = False, j = 1
while not converge:
    parset_2[-6:] = Final_pools_2
    j = j+1
    fluxes_2,pools_2 = f2py.dalec(fluxes_2,pools_2,drivers,-10.,deltat,removal,fires,parset_2,1)
    Final_pools_2.append(pools_2[-1,:])
    test = 1-np.abs(Final_pools_2[-1]/parset_2[-6:])
    if test > 0.001:
        converge = True
Final_pools_2 = np.array(Final_pools_2)

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

你不能在一行上使用不同类型的两个变量。

将其更改为:

converge = False
j = 1