资讯专栏INFORMATION COLUMN

控制语句执行流程

SwordFly / 505人阅读

1.1 用if选择执行语句 1.1.1 if基础

if语句的作用是选择执行语句,其最简单的形式如下:

  if <条件>:
     <语句>

if <条件>:
     <语句1>
  else:
     <语句2>

if <条件1>:
      <语句1>
  elif <条件 2>:
     <语句2>
  else:
       <语句3>
1.1.2 if语句的嵌套
if <条件>:
     if <条件>:          #此句开始的以后共4行都属于第一个if条件的嵌套,注意及缩进量大小
          <语句1>
     elif <条件>:
         <语句2>
  else:
     <语句3>

   

1.2 用for循环执行语句 1.2.1 for基础

for语句的形式如下:

  

for <循环变量> in <遍历对象>:
     <语句1>
  else:
     <语句2>


for i in [1,2,3,4,5]:              #i是循环变量,每次循环,i会依次取得后面列表中一个值
     print (i,"的平方是:",i*i)      #此处理缩进的语句就是循环体
 else:                              #for循环正常结束时其后缩进的语句就会执行
     print ("循环结束!")
1.2.2 for语句与break语句、continue语句

1. break语句作用是中断循环的执行,如果在for循环中执行了break语句,for语句的遍历就会立即终止,即使还有未遍历完的数据,还是会立即终止for循环语句。
2. continue语句作用是提前停止循环体的执行,开始下一轮循环。在for语句中如果执行了continue语句,则continue语句后的循环体语句不会被执行,即提前结束了本次循环,然后进入下一个遍历循环。

for i in [1,2,3,4,5]:
        print(i)
        if i == 2:               #当i等于2时,执行其后缩进的continue语句
         continue              #执行本语句后,其后的if语句和print()不会执行
        print (i,"的平方是:",i*i)
        if i == 4:               #当i等于4时,执行其后缩进的break语句
         break                 #执行break时,终止循环
else:                       #因为for循环中的break语句执行中断了for循环
    print ("循环结束!")

adct = {"apple":15,"banana":20,"pear":35}
  for key, value in adct.items():     #同时遍历键和值
     也可以使用 元组  列表 字符串 的赋值遍历
     print (key,":",value)

  for key in adct.keys():             #只遍历键
     print(key)

  for value in adct.values():         #只遍历值
     print (value)
1.2.3 for语句与range()函数

for语句中的对象集合可以是列表、字典以及元组等,也可以通过range()函数产生一个整数列表,以完成计数循环。range()函数的原型如下:

range( [start,] stop[, step])

其参数含义如下:

start 可选参数,起始数,默认值为0;

stop 终止数,如果range只有一个参数x,那么range生产一个从0至x-1的整数列表;

step 可选参数,步长,即每次循环序列增长值。

产生的整数序列的最大值为stop-l。

for i in range(0,7,2):
        print (i)

range()函数并不是在调用时一次生成整个序列,而是遍历一次才产生一个值,以减少内存的占用,其本质是一个迭代器

例题:计算并输出由用户指定的两个整数之间所有素数

x = (int (input ("请输入开始值(整数):")),int(input("请输入一个结束值(整数):")))
                               #输入两个整数,并放入一个元组中
x1 = min (x)                   #获取两个整数中较小的一个整数
x2 = max(x)                     #获取两个整数中较大的一个整数
for n in range (x1, x2+1):     #用range()产生从x1至x2的序列
    for i in range(2,n):      #用range()产生从2至当前值n-1的序列
        if n % i == 0:           #如果余数为0则执行其后缩进的break语句,中断内循环
            break
    else:                       #循环中断,则表明至少有一个整数因子,不是素数,不输出
            print (n,"是素数。")
1.2.4 for语句与内置迭代函数
内置迭代函数 使用说明
enumerate (seq ) 编号迭代在迭代时既返回序列中的元素,又返回该元素在序列中的编号(编号从0开始)。    
sorted (seq) 先遍历序列中较小的值,后遍历序列中较大的值,当然这要求序列中的数据可以是排序的同类数据
reversed (seq) 翻转迭代从尾至头进行遍历
zip (seql,seq2,...) 并行迭代同时遍历函数中给出的seql、seq2等序列中同一序号的元素,并行迭代函数中序列值的长度不一致时,只遍历到最短的序列的长度。
for i,item in enumerate("abcd"):
      print ("第%d个字符是:%s" % (i,item))

for i in sorted([3,1,6,0]):
      print(i)

lsta = (1,2)
lstb = (3,4)
lstc = (5, 6, 7)
for i,j,k in zip (lsta, lstb, lstc):
      print ("%d:%d:%d" % (i,j,k))

1.3 用while循环执行语句 1.3.1 while基础

while语句的基本形式如下:

while <条件>:
      <语句1>
  else:
      <语句2>           #如果循环未被break终止,则执行


alst = [1,2,3,4,5]
total = len (alst)         #获取列表中元素总数
i =0                       #初始化循环控制变量
while i < total:           #i从0至total-1
    print (i+1,"的平方是:",alst [i] *alst[i])
    i=i+1             #修改循环控制变量
else:
    print ("循环结束!")
1.3.2 增量赋值运算符

基本的运算符都有对应的增量赋值运算符:

    +、-、*、/、//、**、%、&、|、^、>>、<<

基本写法形如:

`x += 1`
1.4 推导或内涵(list comprehension)

列表、元组、字典等结构数据类型给使用大量数据带来极大的方便,但可能你还需要对序列中的数据进行处理得到另一组数据序列,本节介绍从一个序列类型的数据集推导出另一个序列类型的数据集。

1.4.1 推导基础

在Python中是指以紧凑的方式对列表、元组、字典等序列或一系列的元素进行处理,处理结果仍然被放到一个列表、字典等序列之中的语法形式。

典型的列表推导基本形式如下: 

[ for i in aiterator]

aiterator是指一个可遍历的对象,比如列表、元组,也可以是range()函数。其语义为:用循环变量i去遍历aiterator,并且将i相关表达式的值放入一个列表中。

1.4.2 推导进阶

列表推导式和字典推导式不仅可以对遍历的元素进行全部处理,还可以使用if语句实现有选择地处理遍历序列中的元素。其基本形式如下:

  

[ for i in aiterator if <条件>]
  {key_exp:value_exp for key_exp,value_exp in aiterator if<条件>}

如果要获得一个1~10中所有数的平方,且平方值为偶数的一个列表,就可以使用如下代码来实现:

  

square_odd = [i**i for i in range (1, 11) if i**i %2 == 1]

对于字典推导式也可以使用if来进行部分元素的处理。

如果在推导式中的求值表达式或条件表达式中应用函数,则可以构造更加复杂的推导式来实现对序列中的数据进行批量的处理.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42865.html

相关文章

  • Java编程基础04——流程控制语句

    摘要:顺序结构语句了解什么是流程控制语句流程控制语句可以控制程序的执行流程。选择结构语句格式及其使用掌握语句的格式比较表达式语句体比较表达式语句体比较表达式语句体语句体执行流程首先计算比较表达式看其返回值是还是,如果是,就执行语句体,语句结束。 1.顺序结构语句(了解) A:什么是流程控制语句 流程控制语句:可以控制程序的执行流程。 B:流程控制语句的分类 顺序结构 选择结构 循环...

    shaonbean 评论0 收藏0
  • Java杂记3—流程控制之条件

    摘要:流程控制首先来介绍程序的流程控制。后面跟一个代码块逻辑关系是当布尔表达式为真的时候执行代码块,为假的时候不执行。 流程控制 首先来介绍程序的流程控制。 所谓的流程控制,就是在我们前面的课程中我们已经学过了变量,数据类型,运算符,表达式,这些都是计算机编程的基本元素,但是我们程序的基本执行单元应该是语句,程序执行,执行的不是表达式,而是执行语句。就好像我们小时候先学认字儿,再学组词,但最...

    jackzou 评论0 收藏0
  • 1、引用类型变量的创建及使用 2、流程控制语句之选择语句 3、流程控制语句之循环语句 4、循环高级

    摘要:如果是,就执行语句体如果是,就不执行语句体案例代码对变量进行判断中的条件是语句格式第二种语句格式第二种书写格式比较表达式语句体语句体执行流程首先计算比较表达式的值,看其返回值是还是。内层使用,终止内层循环,继续外层循环。 01创建引用类型变量公式 * A: 创建引用类型变量公式 * a: 我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型。 * b:...

    xfee 评论0 收藏0
  • [Python]第二章(条件语句和循环语句)—建议收藏

    摘要:循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。语句用在和循环中。语句用来告诉跳过当前循环的剩余语句,然后继续进行下一轮循环。语句是空语句,是为了保持程序结构的完整性。 各位小伙伴们大家好,在此之前我跟大家介绍过[python]的第一章,如果还没有看的小伙伴们...

    snowLu 评论0 收藏0
  • q'qJavaScript学习第三天笔记(语句

    摘要:循环语句循环语句是什么循环语句是一系列反复执行到符合特定条件的语句。示例代码如下跳转语句什么是跳转语句跳转语句就是使得代码的执行可以从一个位置到另一个位置,跳转语句包括和两种。 语句 语句 语句的概述 1.描述:在JavaScript中,语句使用分号(;)进行分隔。可以在每行编写一条语句,也可以在每行编写多 条语句(建议每行只编写一条语句)。JavaScript解释器按照语句...

    chenjiang3 评论0 收藏0
  • 温故js系列(8)-详解代码中的流程控制

    摘要:甚至包括原型链上的所有可枚举的属性显然,我们习惯的数组遍历的结果是只有这样的结果的。当代码运行到语句时,执行上下文的作用域链临时被改变了。 前端学习:教程&开发模块化/规范化/工程化/优化&工具/调试&值得关注的博客/Git&面试-前端资源汇总 欢迎提issues斧正:流程控制 JavaScript-流程控制 JavaScript是单线程的,一个语句一个语句的执行。语句是执行过程中的流...

    blastz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<