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面试题之列表声明实例分析

python面试题之列表声明实例分析

本文实例讲述了python面试题之列表声明。分享给大家供大家参考,具体如下: 下面程序输出的结果为? val = [['a']*2]*2 print val val[0][1]='b...

儿童学习python的一些小技巧

以下是一些Python实用技巧和工具,希望能对大家有所帮助。 交换变量 x = 6 y = 5 x, y = y, x print x >>> 5 print...

Python多进程写入同一文件的方法

Python多进程写入同一文件的方法

最近用python的正则表达式处理了一些文本数据,需要把结果写到文件里面,但是由于文件比较大,所以运行起来花费的时间很长。但是打开任务管理器发现CPU只占用了25%,上网找了一下原因发现...

Python实现上下班抢个顺风单脚本

Python实现上下班抢个顺风单脚本

一 程序预览 本程序已经写了多年, 很久没用, 不过刚运行了下竟然还可以成功运行. 先来张运行结果图. 二 最近的滴滴APP已经可以支持设置自动抢单功能, 这个小程序就没有那么大意义了...

Django 创建/删除用户的示例代码

Django 创建/删除用户的示例代码

示意图: html: {# 用户管理 #} <div id="userManageDiv" style="display: none;"> <div...