给定数字1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
代码
lista = [1,2,3,4,5] #给定数字列表
count = 0
for l in range(len(lista)):
for m in range(len(lista)):
if lista[l] == lista[m]:
continue
for n in range(len(lista)):
if lista[l]==lista[n] or lista[n]==lista[m]:
continue
print('%d%d%d' %(lista[l],lista[m],lista[n]),end=' ')
count = count+1
if(count%6==0):
print('\n')
print('\n:',count,'个')
很简单的一个代码,要组成三位数,且每个数字互不重复,因此,只需要三个for循环即可,且代表数字的l、m、n互不相同,最后加一个分行代码,将组成的24个数字每行六个打印即可
运行结果
123 124 132 134 142 143
213 214 231 234 241 243
312 314 321 324 341 342
412 413 421 423 431 432
: 24 个
第二种写法
for l in range(1,5):
for m in range(1,5):
for n in range(1,5):
if (l!=m) and (l!=n) and (m!=n):
print(l,m,n)
这种方法相比上面的更加简短且容易理解。
(所有仅供参考,如有建议请留言。)