用python做数字排列组合和筛选部分重复,以及1和4不能相邻筛选,代码要怎么写?
在python编程,如1,2,3,4组合一成5位数的所有排列,但每个数字在这个五位数不能同时出现4次,且数学1和数字4不能相邻,求大神赐教此代码如何写!!!
以下是引用merrys在2020-6-16 20:29:38的发言:
在python编程,如1,2,3,4组合一成5位数的所有排列,但每个数字在这个五位数不能同时出现4次,且数学1和数字4不能相邻,求大神赐教此代码如何写!!!
在python编程,如1,2,3,4组合一成5位数的所有排列,但每个数字在这个五位数不能同时出现4次,且数学1和数字4不能相邻,求大神赐教此代码如何写!!!
程序代码:
a=[1,2,3,4] for i in a: #print (i,end='') for j in a: if (i==1 and j==4) or (j==1 and i==4): continue #print(j,end='') for k in a: if (j==1 and k==4) or (k==1 and j==4): continue #print(k,end='') for m in a: if (k==1 and m==4) or (m==1 and k==4): continue if i==j and j==k and k==m: continue #print(m,end='') for n in a: if (m==1 and n==4) or (n==1 and m==4): continue check=[i,j,k,m,n] if len(set(check))<=2: continue print(i,j,k,m,n)
比较笨的办法.仅供参考