题目:有四个数字: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)
输出结果和上面一样,不过有一点,是以集合的形式输出的。
总结
以上就是本文关于Python输出由1,2,3,4组成的互不相同且无重复的三位数的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
您可能感兴趣的文章:python3实现字符串的全排列的方法(无重复字符)Python生成不重复随机值的方法python 生成不重复的随机数的代码Python简单实现查找一个字符串中最长不重复子串的方法python生成不重复随机数和对list乱序的解决方法Python编程实现生成特定范围内不重复多个随机数的2种方法Python生成8位随机字符串的方法分析python无限生成不重复(字母,数字,字符)组合的方法