首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我如何保持我的程序生成一个新的随机数,直到它找到一个以前没有使用过的随机数?

要保持程序生成一个新的随机数,直到找到一个以前没有使用过的随机数,可以采用以下方法:

  1. 创建一个存储已使用随机数的数据结构,例如列表或集合。
  2. 生成一个随机数。
  3. 检查该随机数是否已经存在于数据结构中。
  4. 如果存在,则返回第2步,重新生成一个随机数。
  5. 如果不存在,则将该随机数添加到数据结构中,并将其作为结果返回。

以下是一个示例代码,使用Python语言实现上述逻辑:

代码语言:python
代码运行次数:0
复制
import random

used_numbers = set()

def generate_unique_random():
    while True:
        random_number = random.randint(1, 100)
        if random_number not in used_numbers:
            used_numbers.add(random_number)
            return random_number

# 调用函数生成一个新的随机数
new_random_number = generate_unique_random()
print(new_random_number)

这段代码使用了一个集合used_numbers来存储已使用的随机数。在generate_unique_random函数中,通过random.randint函数生成一个随机数,并使用if语句检查该随机数是否已经存在于集合中。如果存在,则继续生成下一个随机数;如果不存在,则将其添加到集合中,并作为结果返回。

这种方法可以确保每次生成的随机数都是之前没有使用过的。如果需要生成更大范围的随机数,可以根据实际情况修改random.randint函数的参数。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供弹性计算能力,可满足各种计算需求。产品介绍
  • 云数据库MySQL版(CDB):提供高可用、可扩展的关系型数据库服务。产品介绍
  • 云函数(SCF):无服务器计算服务,可按需运行代码,实现事件驱动的计算。产品介绍
  • 人工智能机器学习平台(AI Lab):提供丰富的人工智能开发工具和资源,支持开发者快速构建AI应用。产品介绍
  • 云存储(COS):提供安全、稳定、低成本的对象存储服务,适用于各种数据存储需求。产品介绍
  • 区块链服务(TBCAS):提供稳定、高效、安全的区块链基础设施和应用服务。产品介绍
  • 腾讯会议:提供高清、流畅、安全的在线会议和协作服务。产品介绍
  • 腾讯云游戏引擎(GSE):提供全球覆盖的游戏服务器托管服务,支持游戏开发和运营。产品介绍
  • 腾讯云直播(CSS):提供高清、低延迟的音视频直播服务,适用于各种直播场景。产品介绍
  • 腾讯云物联网平台(TIoT):提供全面的物联网解决方案,支持设备接入、数据管理和应用开发。产品介绍
  • 腾讯云移动开发平台(MTP):提供一站式移动应用开发和运营服务,支持跨平台开发和推广。产品介绍

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求和情况进行。

相关搜索:如何生成随机数,直到它符合Java中的一个条件?需要的代码是使一个随机数,然后保持喷出随机数,直到它达到那个数字,但它总是相同的当Python上没有问题时,我如何停止我的魔术8球程序生成一个随机数?我在一个生成随机数的程序中工作,我想将这些数字存储在一个数组中如何让我的程序在循环的每次迭代中选择一个新的随机数?-Magic 8 ball随机数函数:如何为一个随机数函数设置不同的上限,以调整我的猜谜游戏的难度我如何为我的猜测游戏实现一个随机数,这个随机数在用户猜测之前不会一直变化?如果它找到一个特定的数字,我如何使此打印为真或假?我如何设置我的程序运行,直到得到一个错误,这样,如果它得到一个错误,它将再次尝试?我需要编写一个函数"checkArray“,它接收一个随机数组并返回大于5的数字之和我如何优化代码,使我不必每次都写一个新的数字?当我打开我的程序时,我如何使一个函数工作?Python我是python的初学者,我想用tkinter做一个缺勤的队友随机数发生器程序。我如何使一个表元素水平溢出它的父容器?它允许我的应用程序启动一个新的控制台屏幕我想在oracle中创建一个唯一的时间戳,它应该检查以前的时间戳并覆盖以前使用过的时间戳吗?我如何制作一个程序,生成一个推荐的动漫列表?如何在pyspark中创建一个包含浮动随机数的新列,但我希望始终生成相同的no?我如何让我的应用程序的一个组件重新加载,同时保持我的其余组件不重新加载?当我把一个随机数生成器/猜测程序放入一个函数时,我的javascript代码崩溃了。为什么它会崩溃?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

随机数与区块链

但我可以告诉你,这两个问题最佳解决方案很可能还没有找到。事实上,这些问题真的很重要,用著名唐纳德的话说就是:”随机数不应该用随机选择方法生成“。 为什么这么难?嗯,这是由于随机数性质。...然而,最后一个广播本地随机数节点可以等待,直到他从其他节点收到随机数。...如何解决随机数这些问题,值得继续关注详细介绍。你也可以看看预测以太坊智能合约中随机数[4]。本文是讨论第一个问题(智能合约中生成随机数良好开端。...为 Solidity 智能合约生成随机数 现在,大多数人都知道,当人们试图在智能合约中生成随机数时,会面临一个问题。遗憾没有一个万能解决方案,让来介绍一下现有的解决方案。...揭示Vi可能无法再影响R, 然而,它可能选择不揭示该值,使所有其他各方除了中止随机数生成没有其他选择。如在两个用户情况下,不揭示节点可能会输掉这场赌局。不过,在东方参与情况下是不够

79310

【Java】常用API——Scanner、Random

所以我们可以通过查询 API 方式,来学习 Java 提供类,并得知如何使 用它们。 API使用步骤 1. 打开帮助文档。 2. 点击显示,找到索引,看到输入框。...查看构造方法 public Scanner(InputStream source) : 构造一个 Scanner ,生成值是从指定输入流扫描 。...查看构造方法 public Random() :创建一个随机数生成器。...使用 Random 类,完成生成 3 个 10 以内随机整数操作,代码如下: 备注:创建一个 Random 对象,每次调用 nextInt() 方法,都会生成一个随机数。...3.3 练习 获取随机数 获取 1-n 之间随机数,包含 n ,代码如下: 猜数字小游戏 游戏开始时,会随机生成一个 1-100 之间整数 number 。

35420
  • 编写了一个应用程序来告诉你区块链是如何运作

    编写了一个应用程序来告诉你区块链是如何运作 blockchain.gif 根据维基百科描述, 区块链是: 一个分布式数据库, 用于维护不断增长记录列表, 这个列表称作块 听起来挺棒, 但它是如何运作...为了演示一个区块链, 我们将使用一个名为Blockchain CLI开源命令行界面. 在这里也构建了一个基于浏览器版本....时间戳(Timestamp): 块是什么时候添加? 数据(Data): 块中存储了什么信息? 随机数(Nonce): 在我们找到一个有效块之前, 经历了多少次迭代?...索引: o + 1 = 1 前一个哈希值 0000018035a828da0 ... 时间戳: 块添加时间 数据: freeCodeCamp❤ 哈希: ?? 随机数: ?? 哈希值是如何计算?...使用较少可能有效散列, 意味着需要更多处理能力才能找到有效散列值. 哈希值为什么如此重要? 这很重要,因为使区块链不可变.

    2.9K81

    人类对随机数探索:如何才能生成一个均匀随机数

    2.0) 统计学家弗朗西斯 · 加尔顿于1890 年《自然》杂志上写道:“作为一个选择随机工具,发现没有什么优于骰子。...把它们扔进装骰子盒子中摇动,它们彼此相互冲撞,并与盒壁碰弹,不停滚动,即使在一次摇骰子中,骰子最初朝向也无法为其最终朝向提供任何有用线索。” 我们如何才能生成一个均匀随机数序列?...1951年,随机数生成终于被正式地内嵌到一台真正计算机中:Ferranti Mark 1 ,带有一个内置随机数指令,可以使用电气噪声一次生产20个随机比特。...这使得服务器具备了来自热噪声本地源随机数生成能力——真正随机数生成器(TRNG)。这非常具有进步意义,但速度仍不如软件PRNGs快,所以加密软件仍然不得不依靠一个随机数发生器。...没有人知道这个问题答案。猜某些地方某些人一定知道,可是他们也一定不会公开。 采用硬件随机数生成器 PEDOUBLER 生成随机数

    1.7K70

    【C语言实战项目】猜数字游戏

    2.开始游戏后程序生成一个1~100之间随机数 3.玩家猜数字: 1>.猜小了,程序会告诉你猜小了,并且告诉你下次猜范围 2>.猜大了,程序会告诉你猜大了...,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1 //随机种子相同,每次产生随机数也会相同 //为了避免每次游戏产生随机数入口都相同情况,调用srand函数且传入当前时间戳用以确定本轮游戏随机数生成入口...,虽然过程磕磕绊绊,也有许多地方自己理解还不够透彻,但总算是按照自己脑海里设想成功编写出了这个程序,很难想象一个以前自己还是一个在班级团建时傻傻参与这个游戏新生,而一个月之后自己就能凭借专业能力在计算机上复现该游戏了...,这让第一次体验到了计算机程序与我们生活贴合之近,也体悟到了计算机与人脑逻辑差异。...相关文章推荐 【C语言】rand()函数(如何生成指定范围随机数) 【C语言实战项目】三子棋游戏 【C语言实战项目】扫雷游戏 【C语言实战项目】通讯录

    10410

    通过写“猜数字”游戏学习 Fortran | Linux 中国

    在空闲时用 Fortran 编写了一个“猜数字”游戏,其中计算机会在 1 到 100 之间选择一个数字,并让猜这个数字。程序会一直循环,直到我猜对了为止。...“猜数字”程序练习了编程语言中几个概念:如何为变量赋值、如何编写语句以及如何执行条件判断和循环。这是学习新编程语言时一个很好实践案例。...Fortran 使用 RAND(0) 函数生成 0 到 0.999…… 之间随机数。参数 0 告诉 RAND 函数生成一个随机数。...在每次循环中,程序都会验证用户猜测值。如果用户猜测值小于随机数程序打印 TOO LOW,如果猜测大于随机数程序打印 TOO HIGH。循环会一直持续,直到用户猜测值等于目标随机数为止。...在其他语言中尝试 在学习一门编程语言时,这个“猜数字”游戏是一个很好入门程序,因为它以非常简单方式练习了几个常见编程概念。

    1.9K30

    C语言对猜数游戏优化(防止输入错误)

    本人纯萌,如果有技术上失误欢迎各位大佬来指导。...一.游戏描述 顾名思义,该程序让系统随机生成一个指定范围内整数,让玩家来猜,玩家猜数字后,系统给予玩家回馈并且统计玩家猜次数,直到玩家猜对为止。...为此优化了一些输入 二游戏内容 1、生成游戏菜单 1. play(进入游戏) 0. exit (退出游戏) 2、使用循环语句,构建游戏框架,使玩家可以进行多次游戏,直到猜对为止。...3、让用户输入想要使用次数,并记录,防止非法输入影响游戏体验。 4、设计游戏具体思路,使系统生成一个随机数,让玩家输入一个数字,然后两个数字对比,根据系统反馈信息,逐渐锁定目标。...,但是程序一直循环,因为在第一次输入数据时,不小心输入了一个字符'a',但是scanf是读取要求类型与输入类型不符合,然而又被留在scanf缓存区中了,故一直循环读取scanf缓存区内容,形成了死循环

    13410

    关于Fuzz工具那些事儿

    而模糊测试,它能够充分利用机器本身,随机生成和发送数据;与此同时,又能够引进业内安全专家在安全性方面的建议。模糊测试其数据具有不确定性,也没有明显针对性,简单来说就是没有逻辑,没有常理。...3:SPIKE SPIKE是一个尝试编写一个易于使用通用协议接口,有助于反向工程师和未知网络协议。 它有几个工作实例。...任何函数调用参数或者返回值已知运行路径变化,则记录; 5、如果程序出错了,记录并保持测试用例; 6、测试所有用例,直到fuzzing队列为空。...5:Scratch Scratch是一种先进驱逐舰(“测试”),可以从一个简单找到各种各样漏洞。...包括模糊测试,杂项shellcode方法和一个简单GUI,LxAPI is currently a work-in-progress.这款工具用过,不过看到有大神用很溜,佩服啊。

    6.2K50

    重磅!JDK 17 发布,Oracle 宣布 JDK 17 可以免费商用了。。

    从官方声明中可以看得出:Oracle JDK 17 和未来 JDK 版本是在免费使用许可下提供直到一个 LTS 版本发布整整一年。 LTS 是什么意思呢?...Generators 增强型伪随机数生成器 382:New macOS Rendering Pipeline macOS 渲染管道 391:macOS/AArch64 Port macOS AArch64...Java 最初只有严格浮点语义,但从 JDK 1.2 开始,为了适应当时硬件架构限制,默认情况下允许这些严格语义中细微变化,而现在这些都没有必要了。 JEP 356:增强型伪随机数生成器。...为伪随机数生成器 (PRNG) 提供接口类型和实现。 JEP 382: macOS 渲染管道。使用 Apple Metal API 为 macOS 实现了 Java 2D 渲染管道。...是二哥呀,没有什么使停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静港湾,是不系之舟。

    8.3K11

    Redis跳跃表一些操作和特性

    接下来,生成一个随机数来决定是否将新元素插入到更高层级中。如果随机数满足插入概率要求,则同时在上一层中进行插入操作,并将节点与下一层中相应节点进行连接。...重复第3步,直到节点不再插入到更高层级为止。...根据随机数决定是否插入到更高层级中,这里随机数生成结果为0则不需要再插入到更高层级插入元素7:1. 找到每一层中插入位置左边节点对象(这里是6)2....由于节点不再插入到更高层级,插入操作结束。通过这种策略,跳跃表可以在保持数据有序同时,提升查找效率。...- 如果下一个节点值小于目标值,则将当前节点更新为下一个节点,继续跳到下一个节点。3. 重复步骤2,直到找到目标节点或者结束查找。

    24281

    C语言猜数字小游戏(也包含python实现用法)

    直到猜对,游戏结束 在pyhton中生成随机数是比较简单,可以直接导入random包,直接生成随机数,导致写猜数字小游戏变成了判读语句和循环语句嵌套就能写出来,所以我不做过多介绍了,可以直接看后面的代码展示...而rand函数是对一个叫“种子”基准值进行运算生成随机数。 之所以前面每次运行程序产生随机数序列是一样,那是因为rand函数生成随机数默认种子是1。...1.2 srand C语言中又提供了一个函数叫 srand,用来初始化随机数生成,srand原型如下: void srand (unsigned int seed); 程序中在调用 rand...那也就是说给srand种子是如果是随机,rand就能生成随机数;在生成随机数时候又需要一个随机数,这就矛盾了。...注:截图只是当时程序运行结果,你运行结果不一定和这个一样 srand函数是不需要频繁调用,一次运行程序中调用一次就够了。

    12110

    在Python中进行机器学习,随机数生成使用

    随机数生成器 在程序和算法中加入随机性,主要通过一种叫做伪随机数生成数学工具。随机数生成器是从真实随机性来源生成随机数系统。通常与物理有关,比如盖革计数器,其结果会变成随机数字。...这些小程序通常是你可以调用函数,它会返回一个随机数。再次调用,他们就会返回一个随机数。包裹函数通常也是可用,在一个特定分布中,或在一个特定范围内,让你得到以整数、浮点数形式出现随机性。...有时你可能希望一个算法能够一致地运行,因为每次都是基于完全相同数据进行训练。如果在production环境中使用该算法,可能会发生这种情况。...如前所述,我们可以每次使用相同随机数序列来拟合模型。这样在评估一个模型时,会出现很糟情况,因为隐藏了模型固有的不确定性。...一般而言,推荐将这两个不确定因素来源结合之后再作报告。算法正是这样基于每个评估运行不同数据分割进行拟合,并包含随机序列。

    1.7K40

    【C语言】题集 of ⑥

    最后,当我们找到元素进行打印再跳出。如果没找到就跳出循环。 ✨第二十八题→使用for循环语句显示10个随机数!...打印产生随机数1~100~✨ 在C语言中,我们一般使用 头文件中 rand() 函数来生成随机数用法为: int rand (void);那么上述程序当中需要我们生成随机数是...我们直到rand()生成最大值是0~32768,那么在本题目当中我们需要生成1~100也就是说我们需要产生一定随机值方法,这个时候就可以用到取模运算符。...✨第二十九题→打印出金字塔✨ 打印金字塔无非就是用for循环进行嵌套,当我们输入数字5时候,我们来假设一个运行结果来看看这样有利于我们解题↓ * *** ***** *...,其实一直有写这个系列毕竟自己也会刷C语言一些题目然后把这些刷过题目总结起来五题写一篇博客,但是东西比较多落下了这个,现在才想起来( •̀ .̫ •́ )✧  那么以上这五道题目不知道你学会了没有

    1.1K20

    【Java】深入理解Java随机数

    大家好,又见面了,是你们朋友全栈君。 随机数 根据密码学原理,随机数随机性检验可以分为三个标准: 统计学伪随机性。...种子是一个数字,可称“种子值”,它为生成随机数提供了基础。 只要种子值相同,获取随机数序列就是一致,而且生成结果都是可以预测。...在不同线程上并发使用相同Random实例可能会导致争用,从而导致性能不佳,问题源于使用种子来生成随机数。 首先,旧种子和种子存储在两个辅助变量上。在这一点上,创造种子规则并不重要。...要保存种子,使用 compareAndSet() 方法将旧种子替换为下一个种子,但这仅仅在旧种子对应于当前设置种子条件下才会触发。...算法是可以有很多,通常如何选择种子是非常关键因素。 Random种子是 System.currentTimeMillis(),所以随机数都是可预测, 是弱伪随机数

    1.1K30

    笨办法学 Java(二)

    无论如何,关于这个练习没有太多有趣事情要说,除了演示了嵌套。 if语句和其他else语句。不过,在学习演练中有一个小惊喜。...当找到匹配项时,它会从case所在左侧移动到右侧,并开始运行代码,直到被break停止。 如果没有case匹配,且有一个default情况(可选),那么default中代码将被运行。...第二个例子从第 50 行开始,演示了一旦switch语句找到与之匹配情况,确实会运行右侧代码,直到遇到break语句。甚至会从一个case穿过到另一个。...无论如何不会在这本书中再使用switch语句,因为几乎从来没有找到好用处,但它确实存在,至少可以说你看到了。...程序实际上没有自行停止;在程序一遍又一遍地重复时,不得不按下 CTRL-C 来停止。 这段代码中有一个无限循环。第 16 行检查变量secret值是否与变量guess值不同。

    15610

    Joern In RealWorld (2) - Jumpserver随机数种子泄露导致账户劫持漏洞(CVE-2023-42820)

    想作为计算机相关工作者,我们应该都有一个共识,就是计算机中没有真正意义伪随机,无论是任何语言随机数生成函数几乎都是从类似 /dev/random地方取值,这里我们不讨论随机数底层问题。...而这里key是一个已知值,就是用于生成验证码参数 换言之,我们可以得知当前Random随机数种子,甚至可以控制这个种子。...修复方案也很简单粗暴,只要在生成结束之后用随机一个种子就可以了 https://github.com/mbi/django-simple-captcha/commit/dcf1ccda3b12df179eaa5c0ebec95a897e96245f...如果返回结果,则证明该方法中没有重置随机数种子,当然,到这里并不能完全验证这个结论,毕竟这里指处理了显式重置,如果是更严格数据流分析,应该从重置随机数种子位置入手,确认是否有数据流经过,但这种方案对于...我们需要用joern完成工作包括两部分 在获取随机数之前,没有重置过随机数种子 在获取随机数之前,共执行了多少次随机操作 先找到对应调用random.choice方法方法 而调用过seed方法重置随机数种子位置只有一个

    50330

    KRACK官网翻译「建议收藏」

    这样就导致以前已经使用过加密密钥和随机数值再次被使用。也就导致了WPA2所有的加密协议在加密数据包时重用了密钥流。...当处理4步握手消息3时,将调用此函数,并将成对密钥安装到驱动程序。在盯着那行代码时候,在想“嗯。如果该函数调用两次,会发生什么。”。当我(正确地)猜到调用它两次可能会重置与密钥相关联随机数。...当处理这个重新发送消息时,密钥可能重新安装,导致随机数重用,就像一次真正攻击。 应该暂时使用WEP,直到设备被修补吗? 不!继续使用WPA2。 Wi-Fi标准是否会更新以解决这个问题?...没有申请任何bug奖励,也没有收到一个。 这种攻击和其他对WPA2攻击相比如何? 这是第一个针对WPA2协议本身攻击,不依赖于密码猜测。...在和这些供应商沟通之后,我们意识到我们发现漏洞有多普遍(直到那时才真正说服自己,这确实是一个协议漏洞而不是一套实现错误)。到了那个时候,我们决定让CERT/CC帮助披露这些漏洞。

    4.6K30

    让深度学习帮你创作爵士乐

    他们通过在学校 Iliac 计算机上编程来作曲,输入随机数字来制定音高,并利用古典对位法测试这套程序。因此如果音高不适合这个作品,就会生成一个音符。...直到 Hiller 去世后,才把这件新闻刊登在音乐界主流期刊上。 现如今,有许多神奇生成软件可以帮助作曲家们作曲。接下来,我们要学习用 Keras 建立一个生成爵士乐模型。 1....这就好像一个细胞状态,细胞状态就像是一个传送带,只允许记忆流过而且保持不变。 这些交互动作也是门,可以从被它们控制细胞状态中添加或清除记忆。它们可以随意选择是否让记忆通过。...记忆通过一个 T 形节点流入,然后与以前记忆合并,而流入记忆多少则由这个阀门控制。输入存在于以前记忆中,并且从遗忘阀中通过。这个过程实际上是一个乘法运算。...接着以前记忆到达 T 型接管,这是一个加法运算。记忆与以前记忆通过这个运算合到一起。 总的来说,这个运算将以前记忆更新为记忆。 3.

    74580

    【愚公系列】软考中级-软件设计师 021-数据结构(查找算法)

    在计算机科学中,算法是计算机程序基础,指导计算机执行特定计算和操作。一个算法应该具有正确性(能够产生正确输出)、效率(能够在合理时间内完成计算)和易读性(易于理解和实现)。...通过遍历待查找数据集,逐个比较数据元素与目标值,直到找到目标值或遍历完整个数据集为止。线性查找基本思路如下:从第一个数据元素开始,逐个遍历数据集中元素。...如果初始位置已经被占用,即发生冲突,就顺序地往后查找,直到找到一个空槽或者遍历完整个哈希表。如果找到了空槽,则将元素插入到该空槽中。如果遍历完整个哈希表,仍然没有找到空槽,表示哈希表已满,插入失败。...2.3.1.2 伪随机数法伪随机数法是当哈希函数将多个键映射到同一个索引位置时,伪随机数法可以通过生成一系列伪随机数来确定下一个可用位置。...具体来说,当发生冲突时,再散列法会使用不同哈希函数或使用原有哈希函数不同参数,将冲突元素重新计算哈希值,然后找到一个位置存储。再散列法可以多次进行再散列,直到找到一个不冲突位置为止。

    22921
    领券