最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Python输出由1,2,3,4组成的互不相同且无重复的三位数
时间:2018-02-02 编辑:猪哥 来源:一聚教程网
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
程序源代码
方法1:
#!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1,5): for j in range(1,5): for k in range(1,5): if( i != k ) and (i != j) and (j != k): print i,j,k
上面实例输出如下:
1 2 3
1 2 4
1 3 2
1 3 4
1 4 2
1 4 3
2 1 3
2 1 4
2 3 1
2 3 4
2 4 1
2 4 3
3 1 2
3 1 4
3 2 1
3 2 4
3 4 1
3 4 2
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 2
方法2:
用集合去除重复元素
#!/usr/bin/env python #-*- coding:utf-8 -*- import pprint list_num = ['1','2','3','4'] list_result = [] for i in list_num: for j in list_num: for k in list_num: if len(set(i + j + k)) == 3: list_result += [int(i + j + k)] print("能组成%d个互不相同且无重复数字的三位数:"%len(list_result)) pprint.pprint(list_result)
输出结果和上面一样,不过有一点,是以集合的形式输出的。
相关文章
- Golang ProtoBuf的基本语法详解 10-20
- Python识别MySQL中的冗余索引解析 10-20
- Python+Pygame绘制小球代码展示 10-18
- Python中的数据精度问题介绍 10-18
- Python随机值生成的常用方法介绍 10-18
- python3解压缩.gz文件分析 09-27