题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
程序源代码
方法1:
1
2
3
4
5
6
7
8
|
#!/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:
用集合去除重复元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/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)
|
输出结果和上面一样,不过有一点,是以集合的形式输出的。
总结
以上就是本文关于Python输出由1,2,3,4组成的互不相同且无重复的三位数的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:https://www.cnblogs.com/jietingting/p/7076796.html