【发布时间】:2019-01-02 06:05:43
【问题描述】:
我正在尝试创建一个 Python 3 脚本,它打印出所有可能的 6 个数字组,其中 4 个是固定的(必须出现),但可以出现在 6 个中的任何位置。这些数字也必须都在 0 到 9 之间。
例如,如果“固定”数字是1,2,3,4,那么1,2,4,3,5,7 是可以接受的,1,2,3,3,4,4 也是可以接受的,但0,4,3,7,8,2 或8,0,5,6,7,8 不是也不应该被打印出来。
到目前为止,我已经尝试过解决这个问题,但是在从概念上理解究竟从哪里开始时遇到了心理障碍。
到目前为止,我尝试使用 random.sample,只是显示所选择的数字是否在范围内,但最终确定它不合适,而且我很可能在这里找错了树。 (我意识到下面不是最佳的,只是想得到一个可行的解决方案。这只是供我个人用于生成 6 位 arma 地图坐标,只要它有效,我不会过分关心它的样子)
import random
count = 0
while count < 4:
res = random.sample([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 6)
if [0, 0, 2, 8] in res:
print(res);
count += 1
非常感谢任何帮助。
【问题讨论】:
-
不确定,这是否适合您,但您可以考虑random.choice?
-
如何:修复你的 4 个号码,然后使用你最喜欢的 RNG 生成最后 2 个号码。
-
使用你最喜欢的随机播放来随机排序
-
@DmytroChasovskyi 为什么可以直接使用接受拒绝?
-
您的问题是说您想要一个“打印出 所有 个可能的 6 个数字的集合 [...]”的脚本。这是您想要的,还是只想随机生成 一些 个可能的集合?如果你想要所有这些,使用
random模块有点奇怪。
标签: python-3.x random