Python生成10个不同随机数的三种方法及求和实现
本文介绍在Python中生成10个不同随机数的三种常用方法:利用random.sample从序列抽取、通过循环与列表判断去重、以及使用shuffle打乱序列后截取。此外,文章还提供了生成指定范围随机数并计算总和的完整代码示例与优化方案,帮助开发者快速掌握相关编程技巧。
如何生成10个互不相同的随机数
在Python中生成10个不同随机数的基本思路是:首先初始化一个名为result的空列表用于存储结果;接着进入循环,只要result的长度未达到10就继续执行;在每次循环中,随机生成一个介于1到10之间的整数;随后检查该随机数是否已存在于result列表中,若不存在则将其添加进去,直至列表长度满足要求。
方法一
利用range(1, 10)构建一个包含1到10之间整数的序列,随后调用random模块中的sample方法。该方法可以从给定的序列中直接选取指定数量的不同元素,从而一次性获取10个不重复的数字。

方法二
创建一个名为result的空列表作为存储容器。启动循环,当result的长度小于10时持续运行。在循环体内,随机生成一个1到10之间的整数num。接着判断num是否已存在于result列表中,如果不存在,则将该数字添加到result中,直到列表长度超过10时退出循环。

方法三
首先使用range()函数生成一个从1到10的有序序列,然后利用random模块中的shuffle方法对该序列进行原地打乱,使其变为无序列表。最后,通过列表生成式或遍历操作,将打乱后的元素直接提取到新列表中,即可得到10个不同的随机数。

随机生成10个0至100之间的随机数并计算总和
实现代码
import random
list=[] #存储数据范围的列表
for i in range(0,100):
list.append(i) #初始化,数据范围:0-100
for j in range(0,10):# 遍历10次
print(random.choice(list))# 每次随机选择输出结果如下:
87 40 48 87 3 8 12 79 62 29
代码优化方案
实现生成n个范围在w内的随机数,并计算这些随机数的总和。
import random
random_number = [] # 存储产生的随机数
def random_generate(n,w): #n为产生的随机数的数量,w为随机数的范围
list=[] #存储数据范围的列表
for i in range(0,w):
list.append(i) #初始化,数据范围:0-w
for j in range(1,n+1):# 遍历n次
tem=random.choice(list) #临时变量,否则每次产生的随机数不一样
random_number.append(tem)
#print("第",j,"个产生的随机数为",tem)# 每次随机选择
print("{0:^3}-->{1:^5}".format(j,tem))
def sum():
total=0
for z in random_number:
total=z+total
print("随机数求和:",total)
#print(total)
if __name__ == "__main__":
print("随机数:")
random_generate(10,100)
sum()输出示例:
随机数: 1 --> 66 2 --> 17 3 --> 45 4 --> 58 5 --> 23 6 --> 86 7 --> 37 8 --> 84 9 --> 37 10 --> 27 随机数求和: 480
以上内容为个人经验分享,旨在提供参考,希望对大家有所帮助,也欢迎继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













