d=8
i=4
k=9
e=16
from random import choice
list=[1,2,3,5,6,7,10,11,12,13,14,15]
while True :
a=choice(list)
b=choice(list)
c=choice(list)
f=choice(list)
g=choice(list)
h=choice(list)
j=choice(list)
l=choice(list)
m=choice(list)
n=choice(list)
o=choice(list)
p=choice(list)
if a != b and b!= c and c!= d and d!= e and e!= f and f!= g and g!= h and h!= i and i!= j and j!= k and k!= l and l!= m and m!= n and n!= o and o!= p :
print(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
break
我看了逻辑,个人认为这个概率应该很低,要很久才能出结果吧?
按你的逻辑,要在这么12的12次幂种组合排列里,取到唯一一种不重复的结果。
>>> 12**12
8916100448256
假设你的电脑一秒钟能处理100万种组合, 而且每次随机数都不一样,但你的结果是在最后一个。
那么需要这么多秒
>>> 12**12/(100*10000)
8916100.448256
这么多小时
>>> (12**12/(100*10000))/3600
2476.69456896
这么多天
>>> ((12**12/(100*10000))/3600)/24
103.19560704000001
除非你的随机数有了上天的祝福,不然,普通情况,1天内应该出不了结果吧?