自学python3中,现在开始每天在python2.71 100例中做一道题,用python3实现,并写下一些思考~加油(ง •̀灬•́)ง

题目网站(http://www.runoob.com/python/python-100-examples.html)

001题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

我的答案:

def fun():
n=0
for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
if (x!=y) and (x!=z) and (y!=z):
print("%d%d%d"%(x,y,z))
n=n+1
print("tatal:%d"%n) fun()

思考:

1.用三个循环嵌套可以遍历所有可能的数值,再用if条件筛选出来。但是在数据量大的时候遍历,可能会延长时间。所以可以改进一下代码:

def fun():
n=0
for x in range(1,5):
for y in range(1,5) :
if y!=x:            #增加if条件语句,让循环要产生的数字减少,更省运行时间
for z in range(1,5):
if (x!=z) and (y!=z):
print("%d%d%d"%(x,y,z))
n=n+1
print("tatal%d"%n) fun()

2.用permutations的方法

 from itertools import permutations
for i in permutations([1,2,3,4],3):
print("%d%d%d" %(i[0],i[1],i[2]))

itertools.permutations(iterable,r)

创建了一个迭代器,返回iterable中所有长度为r的项目序列,如果省略了r,那么序列的长度与iterable中的项目数量相同: 返回p中任意取r个元素做排列的元组的迭代器。

等于说是从列表[1,2,3,4]任意取三个元素,各种排列后,返回含有三个元素的tuple。最后输出的时候格式化一下就好了~

python3.0练习100题——001的更多相关文章

  1. python3练习100题——003

    今天继续-答案都会通过python3测试- 原题链接:http://www.runoob.com/python/python-exercise-example3.html 题目:一个整数,它加上100 ...

  2. python3练习100题——004

    继续做题-经过python3的测试 原题链接:http://www.runoob.com/python/python-exercise-example4.html 题目:输入某年某月某日,判断这一天是 ...

  3. Python练习100题

    Python练习100题 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filename:001.py cnt = 0#count the sum of res ...

  4. python解无忧公主的数学时间编程题001.py

    python解无忧公主的数学时间编程题001.py """ python解无忧公主的数学时间编程题001.py http://mp.weixin.qq.com/s?__b ...

  5. 【和我一起学Python吧】Python3.0与2.X版本的区别

    做为一个前端开发的码农,却正在阅读最新版的<A byte of Python>.发现Python3.0在某些地方还是有些改变的.准备慢慢的体会,与老版本的<A byte of Pyt ...

  6. 相比于python2.6,python3.0的新特性。

    这篇文章主要介绍了相比于python2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动. ...

  7. Python3.0科学计算学习之绘图(一)

    基本绘图: (1)  plot是标准的绘图库,调用函数plot(x,y)就可以创建一个带有绘图的图形窗口(其中y是x的函数).输入的参数为具有相同长度的数组(或列表):或者plot(y)是plot(r ...

  8. 数据结构+算法面试100题~~~摘自CSDN

    数据结构+算法面试100题~~~摘自CSDN,作者July 1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调 ...

  9. Go面试题精编100题

    Golang精编100题 选择题 1.   [初级]下面属于关键字的是()A. funcB. defC. structD. class 参考答案:AC 2.   [初级]定义一个包内全局字符串变量,下 ...

随机推荐

  1. 剑指offer-面试题54-二叉搜索树的第k大节点-中序遍历

    /* 题目: 求二叉搜索树的第k大节点. */ /* 思路: 中序遍历. */ #include<iostream> #include<cstring> #include< ...

  2. [TJOI2015] 概率论 - Catalan数

    一棵随机生成的 \(n\) 个结点的有根二叉树(所有互相不同构的形态等概率出现)的叶子节点数的期望.\(n \leq 10^9\) Solution \(n\) 个点的二叉树个数即 Catalan 数 ...

  3. PHP0011:学生信息管理案例

    PHP中 html js 混合用

  4. springboot web - 建立路由

    一. 测试代码 @RestController @RequestMapping("/book") public class BookController { @PostMappin ...

  5. 案例-pyqt进度条案例

    import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import ...

  6. 2019年3月最新可用KMS激活服务器地址

    更新日期:2019/3/6 kms.03k.org kms.chinancce.com kms.lotro.cc cy2617.jios.org kms.shuax.com kms.luody.inf ...

  7. 树莓派3b 换国内源 更新源

    在国内要更新源的时候,因为是国外的源,总会出现网速太慢的问题, 以下是对于安装了,2017-11-29-raspbian-stretch 系统源 更换最好用root登陆操作 sudo passwd r ...

  8. ip连接mysql时报不能连接

    问题:springboot项目在用localhost连接mysql时没问题,但当localhost换成ip时出现 该问题:message from server: "Host 'DESKTO ...

  9. 论文阅读笔记(十二)【CVPR2018】:Exploit the Unknown Gradually: One-Shot Video-Based Person Re-Identification by Stepwise Learning

    Introduction (1)Motivation: 大量标记数据成本过高,采用半监督的方式只标注一部分的行人,且采用单样本学习,每个行人只标注一个数据. (2)Method: 对没有标记的数据生成 ...

  10. jquery 调用点击事件

    触发 click 事件 $(selector).click()