随机数组未返回随机值求助:如何生成100个随机数数组?
问题分析与解决方法
嘿,我猜你大概率是在循环里直接把循环索引值塞进数组了,而没有调用随机数生成的方法对吧?我之前刚学编程的时候也犯过一模一样的错😂
为什么会得到0-99的顺序数组?
举个常见的错误示例(以Python为例):
# 错误写法:直接将循环计数器i添加到数组 nums = [] for i in range(100): nums.append(i) # 这里只是把0到99的顺序数加进去了,和随机数无关 print(nums)
这段代码本质就是把循环的索引值依次存入数组,自然会得到0到99的有序列表。
正确实现方式
只要把循环里的索引替换成对应语言的随机数生成函数就行,下面给两种常用语言的示例:
Python 实现
需要用到内置的random模块,调用randint()生成指定范围的随机整数:
import random # 生成100个0-99之间的随机整数(可自行调整范围,比如randint(1, 200)) random_nums = [random.randint(0, 99) for _ in range(100)] print(random_nums)
JavaScript 实现
用Math.random()结合Math.floor()来生成整数:
// 生成100个0-99的随机整数 let randomNums = Array.from({length: 100}, () => Math.floor(Math.random() * 100)); console.log(randomNums);
额外提示
如果需要不重复的随机数(比如100个唯一的随机数),可以用洗牌的方式,比如Python里:
import random # 生成0-99的有序数组,再打乱顺序 unique_random_nums = list(range(100)) random.shuffle(unique_random_nums) print(unique_random_nums)
内容的提问来源于stack exchange,提问作者navysoul
相关产品推荐
相关产品推荐

