三位数组合
已知有一个list,里面有4个数字,分别是3,6,2,7 ,这四个数字能组成多少个互不相同且无重复数字的三位数?比如362算一个,326算一个,请逐个输出他们
- 三层嵌套循环,每一层循环从list中取出一个数字,这三个数字组成一个三位数
- 组成的三位数互不相同,且没有重复数字,这需要对取出来的三个数字进行去重
3、示例代码
#coding=utf-8
lst = [3,6,2,7]
number_lst = []
for i in lst:
for j in lst:
for k in lst:
if i != j and i != k and j != k:
number_lst.append(
'{first}{second}{third}'.format(
first=i,second=j,third=k))
print u'共有{count}个符合条件的数字'.format(
count=len(number_lst))
for item in number_lst:
print item
- 三层for循环嵌套,很像机械表里的齿轮,外层是大齿轮,里面是小齿轮,大此轮转一圈,小齿轮要转很多圈
- 注意字符串format的用法,首先要在字符串里定义哪个区域是需要被替换的,并在大括号里定义一个名字,然后在format函数的参数里指明这个名字被谁替换