【发布时间】:2018-02-04 14:34:01
【问题描述】:
我正在尝试创建一个列表,该列表从 30 到 35 之间抽取十个随机实数并将它们打印在列表中。当我运行以下代码时,出现以下错误:
TypeError: 'float' 对象不可迭代。
代码如下:
lis = list(range(10))
random.seed(70)
for i in range(0, len(lis)):
randreal = (random.random()*5 + 30)
lis = list(randreal)
print(lis)
我觉得我错过了一些明显的东西。 当我运行代码时没有
lis=list(randreal)
print(lis)
我得到了我想要的结果,只是不在列表中。我也试图在没有 random.uniform 的情况下做到这一点
【问题讨论】:
-
lis = list(randreal)应该做什么? -
在我看来,它应该建立一个看起来像这样的列表 [34.54884618961936,等等]。根据您的建议,现在看起来像这样:[34.54884618961936, 1, 2, 3, 4, 5, 6, 7, 8, 9] 和下一个随机浮点数为 1,2,3,4 等
-
第一次迭代后,是的。但它会一直一次分配一个元素,最后,所有元素都是随机的。
-
最终输出为
[34.54884618961936, 31.470395203793395, 32.297169396656095, 30.681793552717807, 34.97530360173135, 30.773219981037737, 33.36969776732032, 32.990127772708405, 33.57311858494461, 32.052629620057274]。