Python输出由1,2,3,4组成的互不相同且无重复的三位数

yipeiwu_com6年前Python基础

题目:有四个数字: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组成的互不相同且无重复的三位数的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

python-序列解包(对可迭代元素的快速取值方法)

一般情况下 x,y,z = 1,2,3 print("x:",x) print("y:",y) print("z:",z) #运行结果 x: 1 y: 2 z: 3 对元祖序...

Python获取指定文件夹下的文件名的方法

本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名。 一、os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件。 os.wa...

Python字典的概念及常见应用实例详解

Python字典的概念及常见应用实例详解

本文实例讲述了Python字典的概念及常见应用。分享给大家供大家参考,具体如下: 字典的介绍 字典的概念 字典的创建 1. 我们可以通过{}、dict()来创...

Python 正则表达式 re.match/re.search/re.sub的使用解析

From Python正则表达式 re.match(pattern, string, flags=0) 尝试从字符串起始位置匹配一个模式;如果不是起始位置匹配成功,则 re.match(...

详解Python3之数据指纹MD5校验与对比

MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用...