用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)
比较笨的办法.仅供参考








