Python生成10个不同随机数的三种方法及求和实现

Luna
Luna
发布时间:2026-10-16| 6人浏览过
原创

本文介绍在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

以上内容为个人经验分享,旨在提供参考,希望对大家有所帮助,也欢迎继续支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。