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

题目:有四个数字: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实现详解
  • Python2与python3中 for 循环语句基础与实例分析
  • python cx_Oracle的基础使用方法(连接和增删改查)
  • Python基础语言学习笔记总结(精华)
  • python基础练习之几个简单的游戏
  • Python面向对象编程基础解析(二)
  • Python面向对象编程基础解析(一)
  • Python基础学习之常见的内建函数整理
时间: 2018-01-30

神经网络理论基础及Python实现详解

一.多层前向神经网络 多层前向神经网络由三部分组成:输出层.隐藏层.输出层,每层由单元组成: 输入层由训练集的实例特征向量传入,经过连接结点的权重传入下一层,前一层的输出是下一层的输入:隐藏层的个数是任意的,输入层只有一层,输出层也只有一层: 除去输入层之外,隐藏层和输出层的层数和为n,则该神经网络称为n层神经网络,如下图为2层的神经网络: 一层中加权求和,根据非线性方程进行转化输出:理论上,如果有足够多的隐藏层和足够大的训练集,可以模拟出任何方程: 二.设计神经网络结构 使用神经网络之前,必须

Python基础语言学习笔记总结(精华)

以下是Python基础学习内容的学习笔记的全部内容,非常的详细,如果你对Python语言感兴趣,并且针对性的系统学习一下基础语言知识,下面的内容能够很好的满足你的需求,如果感觉不错,就收藏以后慢慢跟着学习吧. 一.变量赋值及命名规则 ① 声明一个变量及赋值 #!/usr/bin/env python # -*- coding:utf-8 -*- # _author_soloLi name1="solo" name2=name1 print(name1,name2) name1 = &q

python基础练习之几个简单的游戏

文档介绍 利用python写"猜数字","猜词语","谁是卧底"这三个游戏,从而快速掌握python编程的入门知识,包括python语法/列表/元组/字典/流程控制/库函数等等. 环境参数 linux平台,python3.4.需要在linux中把python3.4编译一下,这样编写python程序时保存为.py格式的文件并添加执行权限再终端运行即可(原理跟shell脚本相同),非常方便. ps:贴出来的python程序代码在windows中也兼容

Python基础学习之常见的内建函数整理

 前言 Python针对众多的类型,提供了众多的内建函数来处理,这些内建函数功用在于其往往可对多种类型对象进行类似的操作,即多种类型对象的共有的操作,下面话不多说了,来一看看详细的介绍吧. map() map()函数接受两个参数,一个是函数,一个是可迭代对象(Iterable),map将传入的函数依次作用到可迭代对象的每一个元素,并把结果作为迭代器(Iterator)返回. 举例说明,有一个函数f(x)=x^2 ,要把这个函数作用到一个list[1,2,3,4,5,6,7,8,9]上: 运用简单

Python面向对象编程基础解析(一)

1.什么是面向对象 面向对象(oop)是一种抽象的方法来理解这个世界,世间万物都可以抽象成一个对象,一切事物都是由对象构成的.应用在编程中,是一种开发程序的方法,它将对象作为程序的基本单元. 2.面向对象与面向过程的区别 我们之前已经介绍过面向过程了,面向过程的核心在'过程'二字,过程就是解决问题的步骤,面向过程的方法设计程序就像是在设计一条流水线,是一种机械式的思维方式 优点:复杂的问题简单化,流程化 缺点:扩展性差 主要应用场景有:Linux内核,git,以及http服务 面向对象的程序设计

Python面向对象编程基础解析(二)

Python最近挺火呀,比鹿晗薛之谦还要火,当然是在程序员之间.下面我们看看有关Python的相关内容. 上一篇文章我们已经介绍了部分Python面向对象编程基础的知识,大家可以参阅:Python面向对象编程基础解析(一),接下来,我们看看另一篇. 封装 1.为什么要封装? 封装就是要把数据属性和方法的具体实现细节隐藏起来,只提供一个接口.封装可以不用关心对象是如何构建的,其实在面向对象中,封装其实是最考验水平的 2.封装包括数据的封装和函数的封装,数据的封装是为了保护隐私,函数的封装是为了隔离

Python2与python3中 for 循环语句基础与实例分析

下面的代码中python2与python3的print使用区别,大家注意一下.python3需要加()才行. 语法: for循环的语法格式如下: for iterating_var in sequence: statements(s) 流程图: 实例: #!/usr/bin/python # -*- coding: UTF-8 -*- for letter in 'jb51.net': # 第一个实例 print '当前字母 :', letter fruits = ['banana', 'app

python cx_Oracle的基础使用方法(连接和增删改查)

问题 使用python操作oracle数据库,获取表的某几个字段作为变量值使用. 使用Popen+sqlplus的方法需要对格式进行控制,通过流获取这几个字段值不简洁(个人观点--).(优点是能够使用sqlplus的方法直接访问sql文件,不需要考虑打开/关闭连接,并且通过流向文件中写入还挺好用的.不过优点不是这次所关注的) 使用cx-Oracle将查询结果返回为tuple格式,对返回结果的操作简洁,满足需求.(要注意数据库连接创建与关闭.sql的编写.预处理与提交等等,看起来也不简洁(同样个人

Python 操作 PostgreSQL 数据库示例【连接、增删改查等】

本文实例讲述了Python 操作 PostgreSQL 数据库.分享给大家供大家参考,具体如下: 我使用的是 Python 3.7.0 PostgreSQL可以使用psycopg2模块与Python集成. sycopg2是用于Python编程语言的PostgreSQL数据库适配器. psycopg2是非常小,快速,稳定的. 您不需要单独安装此模块,因为默认情况下它会随着Python 2.5.x版本一起发布. pip3 install python-psycopg2 pip3 install ps

Python+Django+MySQL实现基于Web版的增删改查的示例代码

前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最后一节,文章结尾有整个项目的源码地址. 开发环境 开发工具:Pycharm 2020.1 开发语言:Python 3.8.0 Web框架:Django 3.0.6 数据库:MySQL5.7 操作系统:Windows 10 项目实战 1. 创建项目 File->New Project->Django

利用python模拟sql语句对员工表格进行增删改查

本文主要给大家介绍了关于python模拟sql语句对员工表格进行增删改查的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 具体需求: 员工信息表程序,实现增删改查操作: 可进行模糊查询,语法支持下面3种: select name,age from staff_data where age > 22                  多个查询参数name,age 用','分割 select * from staff_data where dept = 人事 select * from

jdbc实现连接和增删改查功能

JDBC的定义 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. jdbc的基本连接 简单的说就是加载驱动,建立连接,然后进行查询和删除等语句的操作,在java中提供了java.sql的jar包,不过我现在用的是mysql的连接和实例,在这里基本

JdbcTemplate方法介绍与增删改查操作实现

JdbcTemplate介绍 为了使 JDBC 更加易于使用,Spring 在 JDBCAPI 上定义了一个抽象层, 以此建立一个JDBC存取框架,Spring Boot Spring Data-JPA. 作为 SpringJDBC 框架的核心, JDBC 模板的设计目的是为不同类型的JDBC操作提供模板方法. 每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务. 通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低. JdbcTemplate方法介绍 JdbcTem

Python操作MySQL数据库实例详解【安装、连接、增删改查等】

本文实例讲述了Python操作MySQL数据库.分享给大家供大家参考,具体如下: 1.安装 通过Python连接MySQL数据库有很多库,这里使用官方推荐的MySQL Connector/Python库,其官网为:https://dev.mysql.com/doc/connector-python/en/. 通过pip命令安装: pip install mysql-connector-python 默认安装的是最新的版本,我安装的是8.0.17,对应MySQL的8.0版本.MySQL统一了其相关

Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】

本文实例讲述了Thinkphp5.0框架的Db操作.分享给大家供大家参考,具体如下: 连接操作: <?php namespace app\index\controller; use think\Controller; use think\Db; class Index extends Controller { public function study_db(){ //方式一:默认读取配置文件的配置 $res = Db::connect(); //方式二:手动配置,使用一个数组 $res = D

PHP简单操作MongoDB的方法(安装及增删改查)

本文实例讲述了PHP简单操作MongoDB的方法.分享给大家供大家参考,具体如下: php操作MongoDB的话首先从网上下载MongoDB的扩展包,https://github.com/mongodb/mongo-php-driver/downloads,选择对应的扩展包. 这是我下的,然后解压,VC6适合apache,VC9适合IIS,ts(thread safe)指PHP以模块形式运行的. 然后把其中的php_mongo.dll放在PHP中的ext文件夹中,然后在PHP.INI里面加入ex

MongoDB简单操作示例【连接、增删改查等】

本文实例讲述了MongoDB简单操作.分享给大家供大家参考,具体如下: MongoDB 中默认的数据库为 test,连接后尝试以下操作 连接 插入数据:用过json的同学看到这格式相信不会陌生吧! db.person.insert({"name":"jack","age":22}) db.person.insert({"name":"Mary","age":22}) 查: db.pers