如何用Python生成含100个随机数的列表?代码输出0-100而非随机数求解
问题原因
- 代码中首次生成的
x = randint(0,100)随机值被后续for循环的迭代变量x完全覆盖,循环过程中x依次取range(0,101)生成的0到100有序整数,追加到列表的实际是这些有序值,不是你想要的随机数。 range(0,101)共生成101个数值,和你预期填充100个随机数的数量要求不符。
修正方案
将随机数生成逻辑移入for循环内部,每次循环生成新的随机数再追加到列表,同时调整循环次数为100次即可,代码如下:
from random import randint scores = [] for _ in range(100): x = randint(0, 100) scores.append(x) print(scores)
如果想要更简洁的写法,可以直接用列表推导式实现:
from random import randint scores = [randint(0, 100) for _ in range(100)] print(scores)
内容的提问来源于stack exchange,提问作者JAKY
相关产品推荐
相关产品推荐

