2019独角兽企业重金招聘Python工程师标准>>>

2.2 流程控制-for序列

python中主要的流程控制有for循环和while循环

循环是一个结构,导致程序要重复一定的次数。

条件循环也是如此,当条件变为假,循环结束

  • for循环 在序列里,可以用for循环进行遍历

    a='ABC' for i in a : print i \可以在后面加“,”来不输出换行符

  • range

    help(range)

    range([start,]stop[,step]) \start 默认为0,step 默认为1 ,step是步长;stop不包含在输出中,比如遍历[1-10],for i in range(1,11)

-- 列表重写

[i**2 for i in range(1,11) if i % 2 != 0 ] \\ 1-10里面奇数平方写入列表中

python3中range即为py2中的xrange,写xrange会报错

2.3 流程控制-for字典

dic1 = {"name":"zx","age":"18"}
for k in dic1:print k , dic1[k]for i in dic1.iteritems():  \\.iteritems()类似于xrangeprint i
for k,v in dic1.iteritems() : print k,v

输出九九乘法表

for i in range(1,10):for j in range(1,i+1):a = i * jif a < 10:print "{0} * {1} = {2}  |".format(j,i,a),else:print "{0} * {1} = {2} |".format(j,i,a),if j == i :print ""

2.4 循环退出

for 循环也有else,在for循环正常结束后使用

for i in range(0,10):print i
else print 'end'

break 退出当前循环 continue 退出本次循环,进行下次循环 exit 退出脚本

2.5 流程控制-while

while循环,直到表达式变为假才退出循环,表达式是一个逻辑表达式,必须返回True或者False。

while expression :statements(s)while 1 :print "Hello "  \\可以while True :  但不能 while False :

练习

练习 1

  1. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
  2. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
  3. 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

1、4个不同数字3个随机排列(4个数字不含0)

n = 0
for i in range(1,5):for j in range(1,5):for q in range(1,5):if i != j and i != q and j !=q :n += 1print "{0}{1}{2}".format(i,j,q)print n---------
123
132
213
231
312
321

2、 水仙花数

n = 0
for i in range(1,10):for j in range(0,10):for q in range(0,10):if i ** 3 + j ** 3 + q ** 3 == i * 100 + j * 10 + q :n += 1print "{0}{1}{2}".format(i,j,q)print n---------
153
370
371
407

3、 比赛

n = 0
l1 = ['a','b','c']
l2 = ['x','y','z']
dic = {}
l = []
for i in l1:for j in l1:for q in l1:if i != j and i != q and j !=q :n += 1l.append(i)l.append(j)l.append(q)dic = dict(zip(l,l2))if dic['a'] != 'x' and dic['c'] == 'y':print dicl = []---------
{'a': 'z', 'c': 'y', 'b': 'x'}

练习2

  1. 将一个正整数分解质因数。例如:输入90,打印出90=233*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成: (1)如果分解后商为1,则说明分解质因数的过程已经结束,打印出即可。 (2)如果商不为1,则应打印出i的值,并用n除以i的商,作为新的正整数进行分解,  重复执行第一步。 (3)如果n不能被i整除,则i的值加1,重复执行第一步。

  2. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 程序分析:采取逆向思维的方法,从后往前推断。

1、

import sys
n = input()
stat = 0
l = []
if n == 1 :print "n = 1 is prime number!"
while n != 1 :for i in range(2,n+1):if n % i == 0 :l.append(i)if i == n :print "n = {0} is prime number !".format(n)sys.exit()n /= ifor i in l :if stat == 0 :print "{0}".format(i),stat += 1else :print " * {0}".format(i),

2、

m = 1
n == 10
while n > 1 :m += 1m *= 2n -= 1
print m---------
1534

转载于:https://my.oschina.net/u/4030294/blog/2933080

2.2 流程控制-for序列 2.3 流程控制-for字典 2.4 循环退出 2.5 流程控制-while相关推荐

  1. PacBio三代甲基化分析流程(不包含序列组装)

    PacBio三代甲基化分析流程--不包含序列组装 流程 流程如下: 比对 这几天用的新的PacBio公司的SMRTLink流程软件跑了一下实验室的甲基化数据分析,因为公司给的好多数据对不上,因此用对应 ...

  2. 花书+吴恩达深度学习(十七)序列模型之长短期记忆 LSTM 和门控循环单元 GRU

    目录 0. 前言 1. 长短期记忆 LSTM 2. 门控循环单元 GRU 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十五)序列模型之循环神经网络 ...

  3. Interview QA - 房间里有三盏灯,屋里有三个开关分别控制这三盏灯。如何只进入房间一次就知道哪一个开关控制哪一盏灯?

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 先进入有 ...

  4. 【控制】《多无人机协同控制技术》周伟老师-第5章-基于滑模控制的无人机编队运动控制策略

    第4章 回到目录 第6章 第5章-基于滑模控制的无人机编队运动控制策略 5.1 编队数学模型 5.2 控制策略与设计 5.2.1 路径跟踪 5.2.2 编队控制 5.2.3 编队跟踪 5.2.4 编队 ...

  5. 共阴极数码管编码表_数码管循环点亮的PLC控制——基本逻辑指令的应用

    数码管循环点亮的PLC控制,我们运用日本三菱FX2N-48MR-001(FX2N-48MR-001是日本三菱公司的可编程控制器(PLC),继电器输出及输入24点,输出24点.FX2N是FX系列中功能最 ...

  6. 案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,期限控制,参数调试等)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127669684 长期持续项目技术分享,有专业Qt需求请 ...

  7. 永磁同步电机矢量控制中的双闭环是什么意思_STM32 TALK | 无感FOC方案原理机器控制难点分析...

    电机在各种应用中,都是最广泛.最核心的存在.随着传统应用转变翻新.新兴应用层出不穷,这几年的电机界,如果不会FOC,都不好意思说自己是做电机的.八月底,在电堂联合ST举办的"STM32 TA ...

  8. 基于codesys开发的多轴运动控制程序框架,将逻辑与运动控制分离,将单轴控制封装成功能块,对该功能块的操作包含了所有的单轴控制

    基于codesys开发的多轴运动控制程序框架,将逻辑与运动控制分离,将单轴控制封装成功能块,对该功能块的操作包含了所有的单轴控制(归零.点动.相对定位.绝对定位.设置当前位置.伺服模式切换等等). 程 ...

  9. 甲、乙机之间采用方式 1 双向串行通信,具体要求如下: (1)甲机的 k1 按键可通过串行口控制乙机的 LEDI 点亮、LED2 灭,甲机的 k2 按键控制 乙机的 LED1

    (原创)Proteus 虚拟仿真.甲.乙机之间采用方式 1 双向串行通信,具体要求如下: (1)甲机的 k1 按键可通过串行口控制乙机的 LEDI 点亮.LED2 灭,甲机的 k2 按键控制乙机的 L ...

最新文章

  1. 如何处理异常? catch Exception OR catch Throwable
  2. 列举出php代码级的优化技巧,php 代码优化的42条建议 推荐
  3. 图像处理/255.0 和/127.5 -1
  4. c语言gets和getchar区别,c语言中关于getchar()、getchar()和gets().......
  5. 关于JAVA的一道面试题
  6. oracle domnode释放,关于释放引用DOM对象内存的问题
  7. 数据治理(五):元数据管理
  8. Delphi D10.X VCL和FireMonkey之间的常见差异介绍
  9. 一级域名、二级域名、三级域名区分
  10. 使用Cisco Packet Tracer之图解无线网络全网互联
  11. Java操作外部数据源(RDBMS,Hive,HBase)
  12. mui.fire运用
  13. 专题训练二 搜索进阶 HDU - 3085 Nightmare Ⅱ (双向BFS + 曼哈顿距离)
  14. XiaoMi-Ruby-15.6-UMA-only黑苹果efi引导文件
  15. 窄带物联网(NB-IoT)科技的关键技术是什么?
  16. 股票入门基础知识16:财务比率的局限性
  17. 1095: 统计元音(函数专题)
  18. 用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下一个字母。用define命令控制
  19. Java操作ElasticSearch,java程序设计教程第二版pdf
  20. 【Word】实习证明简易模板

热门文章

  1. mybatis-注解及其他
  2. objective-C 2.0
  3. 学渣的心酸(求职篇)
  4. 方格图片轮换JS特效
  5. The connection to adb is down, and a severe error has occured
  6. 记录用友ERP二次开发全过程(转载)
  7. Windows 使用windump进行循环抓包
  8. 老段51CTO会员卡 限时半价
  9. apache运行CGI程序的配置
  10. Q96:PT(3.1):基本的基于噪声的纹理(Basic Noise-Based Textures)