TypeError:当我使用WHILE时,'float'对象不可迭代

时间:2013-02-20 00:50:42

标签: python

  

您好,   我正在尝试进行一个简单的迭代以获得1000个向量在另一个计算中使用它们,我已经尝试了很多东西但是我仍然得到这个“浮动”对象的错误当我>使用时它是不可迭代的而。   这是我的剧本:

import random
count = 1000
alfa_1 = [0, 1]
alfa_2 = [0, 1]
d = [0, 1]
while count > 0:
    print count
    for i in range(count):
        alfa_1 = random.random () * (max (alfa_1) - min(alfa_1)) + min (alfa_1)
        alfa_2 = random.random () * (max(alfa_2) - min(alfa_2)) + min (alfa_2)
        d = random.random () * (max(d) - min(d)) + min(d)
        paramvect = [alfa_1, alfa_2, d]
        print paramvect
        count = count - 1
  

感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:5)

您最初分配alfa_1alfa_2 list值,但稍后将其分配给float值。

# As lists
alfa_1 = [0, 1]
alfa_2 = [0, 1]
...
# As floats
alfa_1 = random.random () * (max (alfa_1) - min(alfa_1)) + min (alfa_1)
alfa_2 = random.random () * (max(alfa_2) - min(alfa_2)) + min (alfa_2)

因此,在循环的第二次迭代中,当它期望可迭代的东西(如max)时,您将float传递list。 (目前还不清楚目标是什么,所以我无法提供更完整的解决方案。)