我正在尝试创建一个列表,该列表提取30到35之间的十个随机实数并将其打印在列表上。当我运行以下代码时,出现以下错误:



这是代码:

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的情况下执行此操作

最佳答案

您首先创建了列表lst [0,1,2,3,4,5,6,7,8,9]。这是没有必要的。然后,您尝试用抛出错误的新列表lst覆盖此列表list(randreal),因为其无效的列表构造函数

您可以从空列表开始,然后附加您创建的每个随机数:

lis = []
random.seed(70)
for i in range(10):
    randreal = (random.random()*5 + 30)
    lis.append(randreal)
print(lis)

或用新的随机值覆盖原始列表的每个值
lis = list(range(10))
random.seed(70)
for i in range(0, len(lis)):
    randreal = (random.random()*5 + 30)
    lis[i] = randreal
print(lis)

关于python - 将random.random()结果转换为列表-Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45900085/

10-12 21:09