python黑帽编程2.4流程控制

python黑帽编程2.4流程控制

ID:8963288

大小:156.35 KB

页数:6页

时间:2018-04-13

python黑帽编程2.4流程控制_第1页
python黑帽编程2.4流程控制_第2页
python黑帽编程2.4流程控制_第3页
python黑帽编程2.4流程控制_第4页
python黑帽编程2.4流程控制_第5页
资源描述:

《python黑帽编程2.4流程控制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Python黑帽编程2.4流程控制  Python黑帽编程2.4流程控制  本节要介绍的是Python编程中和流程控制有关的关键字和相关内容。  2.4.1IF…..ELSE  先上一段代码:  #!/usr/bin/python  #-*-coding:UTF-8-*-  x=int(input('请输入一个整数:'))  ifx==0:  print'%d==0'%x  elifx<0:  print'%d<0'%x  else:  print'%d>0'%x  这段代码使用if,elif和else三个关键字,每一个关键字后面跟一个布尔表达式,以冒号结尾。跟在条件

2、判断语句下面的是子语句,就是我们在此条件下要做的事情。  我将上面的代码保存到ifelse.py运行结果如下:  图2  2.4.2FOR语句  Python中的for语句和C中的略有不同。通常的循环可能会由用户来定义迭代步骤和中止条件,Python的for语句依据任意序列(链表或字符串)中的子项,按它们在序列中的顺序来进行迭代。例如:  words=['cat','window','defenestrate']  forwordinwords:  print(word,len(word))  运行结果如下:  图3  在迭代过程中修改迭代序列不安全(只有在使用链表这

3、样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列,可以迭代它的副本。使用切割标识就可以很方便的做到这一点:  words=['cat','window','defenestrate']  forwordinwords[:]:  iflen(word)>6:  words.insert(0,word)  printwords  上面的代码通过切片操作得到了words的一个拷贝,循环过程中可以修改words列表但是不会对循环造成影响。运行结果如下:  图4  2.4.3WHILE语句  while和if的区别在于,if如果表达式为true的话会一次执行内部的代

4、码,而while会循环执行,直到表达式为false。例如:  count=0  while(count<9):  print'theindexis:',count  count+=1  运行结果如下:  图5  2.4.5RANGE和XRANGE  使用range函数可以很方便的生成一个等差系列。range函数完整的声明如下:  range(start,end,step=1)  下面我们通过一小段代码看看range的使用方法:  a=range(5)  b=range(2,5)  c=range(2,5,2)  printa  printb  foriinc:  pr

5、int"valueis",i  这段代码示例了三种使用方式:  1)只有一个参数时,传入值为end,起始值为0,步长为1;  2)传递两个参数时,传入值为start和end,步长为1;  3)传递三个参数时,传入值为start,end和步长。  xrange和range使用方法一样,区别有以下两点:  1)xrange不生成完整的列表,效率更高;  2)xrange只有在for循环中使用才有意义。  2.4.6BREAK、CONTINUE和PASS  break语句和C中的类似,用于跳出最近的一级for或while循环。  循环可以有一个else子句,它在循环迭代完整

6、个列表(对于for)或执行条件为false(对于while)时执行,但循环被break中止的情况下不会执行。  例如下面的代码:  forninrange(2,10):  forxinrange(2,n):  ifn%x==0:  print(n,'equals',x,'*',n//x)  break  else:  print(n,'isaprimenumber')  上面的代码循环一个包含从2到9的一个系列,内部的循环实际是判断该数是不是素数。if语句如果为true的话证明找到了除2和本身以外的分解因子,证明这个数不是素数,接着会执行break,此时会跳出当前循环

7、,因为有了break语句,和当前for循环对应的else语句也不会执行。在相反的情况下,如果是素数,当前循环会执行完毕,else子句会执行。结果如下:  图6  continue语句是从C中借鉴来的,它表示循环继续执行下一次迭代,如下所示:  fornuminrange(2,10):  if(num%2==0):  continue  printnum  这是一段输出奇数的代码,结果如下:  图7  pass语句什么也不做,相当于汇编的nop指令。它用于那些语法上必须要有什么语句,但程序什么也不做的场合。通常我们使用pass语句来进行占位,比如规划程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。