1、2、3、4无重复三位数组合

给定数字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)

这种方法相比上面的更加简短且容易理解。
(所有仅供参考,如有建议请留言。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值