排序組合方法,選出3個數,組成不同的三位數,要求每個三位數不相等
阿新 • • 發佈:2019-02-05
import random import string #方法1 def strnum(a,k): num1,num2=1,1 b=[] for i in range(1,len(a)+1): num1=num1*i for i in range(1,len(a)-k+1): num2=num2*i #print num1,num2 while True: c=string.join(random.sample(a,k)).replace(" ","") if int(c) not in b: b.append(int(c)) if len(b)>=(num1/num2): break print b print len(b) x=['1','2','3','4'] strnum(x,3) import string import random #方法2 b=[] while True: a=['1','2','3','4'] s=string.join(random.sample(a,3)).replace(" ","") if s not in b: b.append(s) if len(b)>=24: break print b #方法3 c=[] for line0 in x: for line1 in x: for line2 in x: if line2!=line0 and line2!=line1 and line0!=line1: c.append(int(line0+line1+line2)) print c