【发布时间】:2020-11-29 14:08:13
【问题描述】:
我想要一个随机生成器,它不会生成之前生成的任何数字。调用此生成器不会返回列表。每次返回一个数字,这个数字将是一个以前没有生成过的全新数字。
到目前为止,我实现这一点的想法是首先生成一个长的非重复随机列表,然后从列表中逐个检索。
使用 Python,但我想这更像是一个一般逻辑问题。
编辑: 很抱歉给大家带来了困惑。澄清我正在尝试实施的问题:我正在开发一个应用程序,用户可以在其中注册并接收酒店房间号。该应用程序有一些酒店设置。每个新用户都将收到该酒店的唯一酒店编号。范围可能是从 0001 到 9999。我的目标是让算法为该用户生成一个从 0001 到 9999 的随机数,并且该数字必须是唯一的,以便酒店的每个房间号都由仅限一名用户。我正在使用 Django。
【问题讨论】:
-
你能举一个你可能希望看到的序列的例子吗?
-
到目前为止,我实现这个的想法是先生成一个长的非重复随机列表,然后从列表中逐个检索。这是个好主意,什么有问题吗?
-
你没有发布代码,也没有问题。请重复介绍导览,尤其是on topic 和how to ask。您的规范有点不足,而且您根本没有发布任何尝试。 Stack Overflow 不是设计资源;你的实施有什么问题?发布一个指定的问题,我们有一些工作要做。
-
即使没有实现,也可以针对问题询问算法(在这种情况下,“尝试”会是什么样子?),但您必须说这是您的问题。跨度>
-
如果它是非重复的,那么它就不是随机的。我建议加密。加密数字 0, 1, 2, 3, ... 以获得一系列唯一结果,直至您使用的密码的块大小。