python 在指定范围内随机生成不重复的n个数实例

针对指定范围内随机生成不重复的n个数的问题,下面提供几种实现方法。

方法一:使用 random.sample()

Python 的 random 模块提供了一个 sample() 方法,可以在指定范围内随机生成不重复的 n 个数。

import random

start_num = 1   # 范围起始值
end_num = 100   # 范围终止值
n = 5           # 随机生成的数字个数

num_list = random.sample(range(start_num, end_num + 1), n)   # 生成 n 个不重复的随机数
print(num_list)

运行结果为:

[60, 16, 63, 74, 58]

上述代码中,range() 函数生成了从起始值到终止值的整数序列,加上 +1 是因为 range() 函数是左闭右开的,即不包含终止值,最终生成的序列包含起始值和终止值。接着,使用 random.sample() 函数在这个序列中生成了 n 个不重复的随机数。

方法二:使用 numpy.random.choice()

除了使用 random.sample() 方法外,还可以使用 NumPy 库中的 random.choice() 方法生成不重复的随机数序列。

import numpy as np

start_num = 1   # 范围起始值
end_num = 100   # 范围终止值
n = 5           # 随机生成的数字个数

num_list = np.random.choice(range(start_num, end_num + 1), n, replace=False)   # 生成 n 个不重复的随机数
print(num_list)

运行结果为:

[90 64 66  1 86]

上述代码中,np.random.choice() 函数的 replace 参数设置为 False,表示生成的数字不重复。

示例说明

假设现在需要随机生成包含大小写字母和数字在内的验证码,需要在这个范围内随机生成 8 个不重复的字符,可以使用如下代码:

import random
import string

chars = string.ascii_letters + string.digits  # 验证码范围大小写字母和数字
n = 8                                        # 随机生成字符的个数

code = ''.join(random.sample(chars, n))  # 随机生成 n 个不重复的字符
print(code)

运行结果为:

51O8jluT

在这个示例中,首先使用了 string.ascii_letters 和 string.digits 来定义验证码的范围(大小写字母和数字),然后使用 random.sample() 方法从此范围中随机生成了 8 个不重复字符,最后使用 ''.join() 将列表转化成字符串。这样就完成了一个含有大小写字母和数字的验证码的生成。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 在指定范围内随机生成不重复的n个数实例 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python从单元素字典中获取key和value的实例

    使用Python从单元素字典中获取key和value的实例,可以通过字典中的内置方法items()来实现。下面是详细的攻略。 步骤 定义一个单元素字典,例如{“key”: “value”}。 通过使用内置方法items(),获取字典中的键值对元组。 通过索引1获取字典中的值value,索引0获取字典中的键key。 下面是示例代码: # 示例1:获取单元素字典…

    python 2023年5月13日
    00
  • 最基础的Python的socket编程入门教程

    最基础的Python的socket编程入门教程 本文将介绍Python的socket编程,包括socket的基本概念、socket的创建、socket的连接、socket的发送和接收等内容,并供两个示例说明socket的使用。 socket的基本概念 socket是一种通信机制,它允许不同的进程在上进行通信。socket通常使用IP地址和端口号来标识网络上的…

    python 2023年5月14日
    00
  • Python中Timedelta转换为Int或Float方式

    要将Timedelta转换为int或float,需要使用total_seconds()方法,该方法返回时间差相对于“1970年1月1日”的总秒数。然后,将返回的值转换为int或float类型。 下面是两个示例说明: 示例1:将Timedelta转换为int类型 import pandas as pd from datetime import datetime…

    python 2023年6月2日
    00
  • Python中正则表达式的用法总结

    下面是对“Python中正则表达式的用法总结”的完整实例教程。 一、什么是正则表达式 正则表达式是一种字符串匹配的工具,用来模糊匹配、精确匹配等。在Python中,正则表达式是通过re模块来进行操作的。下面列出几个基础的正则表达式。 .:匹配一个任意字符 ^:匹配开头 $:匹配结尾 *:匹配前一个字符出现0次或多次(贪婪匹配) +:匹配前一个字符出现1次或多…

    python 2023年5月13日
    00
  • 复制粘贴功能的Python程序

    关于“复制粘贴功能的Python程序”的制作,我提供以下完整攻略。 1. 概述 首先,我们需要了解一下制作这个程序的基本思路。在Python中,实现复制粘贴功能的方法是通过使用pyperclip库。该库提供一些用于复制和粘贴剪贴板中文本的函数。基本上,我们需要做的就是使用这些函数,根据用户的输入在剪贴板中进行操作。 2. 安装pyperclip 我们需要先安…

    python 2023年6月3日
    00
  • PyCharm 安装与使用配置教程(windows,mac通用)

    PyCharm 安装与使用配置教程 简介 PyCharm 是 Python 开发中最受欢迎的集成开发环境(IDE)之一。它是 JetBrains 开发的高度自定义的 Python 全能性 IDE,旨在提高开发者的生产力和代码质量。 本教程将向您展示如何在 Windows 和 macOS 操作系统上安装和配置 PyCharm。 步骤 1:下载 PyCharm …

    python 2023年5月30日
    00
  • Python内置函数locals和globals对比

    Python内置函数 locals 和 globals 对比 在 Python 中,有两个内置函数 locals() 和 globals() 用于获取当前作用域中的变量名称和变量值。 locals() locals() 函数返回一个 Python 字典,其中包含当前作用域中的所有局部变量及其对应的值。 例如: def foo(): a = 1 b = 2 p…

    python 2023年6月3日
    00
  • Python读取xlsx文件的实现方法

    下面我将为你详细讲解Python读取xlsx文件的实现方法的完整实例教程。 1. 准备工作 首先,需要安装Python的第三方库openpyxl来实现读取xlsx文件,可以通过pip命令进行安装。 pip install openpyxl 2. 实现方法 2.1 打开xlsx文件 首先需要打开xlsx文件,可以使用openpyxl.Workbook方法来打开…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部