目录

一、分支结构:if 语句

二、循环结构:for 语句

break 和 continue

三、循环语句:while 语句


通常情况下,Python脚本总是按照顺序执行的。不过,对于一些复杂的程序,可能需要根据执行过程中出现的不同情况选择性地执行一部分语句,或重复执行某一部分语句,这时,就需要使用Python的流程控制语句。

Python脚本中的流程控制语句控制着脚本的执行流程,根据一定的条件来执行脚本中不同的语句,以完成不同的功能。

一、分支结构:if 语句

if 语句是基本的条件测试语句,用来判断可能遇到的不同情况,并针对不同的情况选择执行某一部分语句。if 语句的基本形式如下:

if <条件>:       # 当条件为真时,执行缩进的语句;当条件为假时,判断 elif 的条件<语句>       # 用缩进来表示语句处于 if 语句之中
elif <条件>:     # 当条件为真时,执行缩进的语句;当条件为假时,执行 else 语句<语句>
else <条件>:     # 若前边所有的条件都为假,则执行下面的缩进语句<语句>

注:在条件语句中,主要使用下表所示的几种比较运算符

比较运算符
比较运算符 描述
a == b a 与 b 是否相等,是则返回真,否则返回假
a != b a 是否不等于 b ,是则返回真,否则返回假
a > b a 是否大于 b ,是则返回真,否则返回假
a >= b a 是否大于等于 b ,是则返回真,否则返回假
a < b a 是否小于 b ,是则返回真,否则返回假
a <= b a 是否小于等于 b ,是则返回真,否则返回假

以上几种比较运算符可以用于对数字、字符串、列表、元组以及字典等的比较。除了上述的比较运算符外,在条件中也可以使用逻辑运算及其他的语句。

a = 1
b = 2
if a == b:print('true-1')
else:print('false-1')
if a < b:print('true-2')
else:print('false-2')m = 'hi'
n = 'hello'
if m == n:             # 此处为字符串比较print('true-3')
elif m > n:print('false-3')
else:print(m, n)l1 = [1, 2]
l2 = [3, 4]
if l1 == l2:           # 此处为列表比较,只包含 if 语句块print('true-4')
if l1 != l2:print('false-4')
if l1 <= l2:print('true-5')
if not 1:              # 逻辑运算非,相当于 if 0:,即条件为假print('true-6')
else:print('false-6')

上述代码输出结果:

在 if 语句中还可以嵌套其他的 if 语句,被包含的 if 语句要用缩进来表示自己所包含的语句,这是Python独特的语法,而不像其他语言那样使用一对大括号 "{}" 来表示一个语句。虽然缩进可以使脚本看起来更加清晰,但在编写的过程中容易忽略缩进,而导致程序语法错误,或者导致结果出错。在编写Python脚本中最好使用具有自动缩进功能的编辑器(如:PyCharm),以保证程序正确缩进,减少敲击键盘的次数。

if <条件>:if <条件>:<语句>else:<语句>
elif <条件>:if <条件>:<语句><其他语句>       # 此语句未缩进,表示不属于嵌入的 if
else:<语句>

二、循环结构:for 语句

for 语句是Python中的循环控制语句。for 语句可以用于循环遍历某一对象,它还具有一个附带的 else 块。附带的 else 块是可选的,主要用于处理 for 语句中包含的 break 语句。for 语句中的 break 语句,可以在需要的时候终止 for 循环。如果 for 循环未被 break 语句终止,则会执行 else 块中的语句。在 for 语句中还可以使用 continue 语句,continue 语句可以跳过位于其后的语句,开始下一轮循环。

for 语句的格式

for <> in <对象集合>:if <条件>:break          # 终止循环if <条件>:continue       # 使用 continue 跳过其他语句,继续循环<其他语句>
else:                  # 如果 for 循环未被 break 语句终止,则执行 else 块中的语句 <>

完整的一个 for 循环语句:

for i in [ 1, 2, 3, 4, 5 ]:if i == 6:breakif i == 2:continueprint(i)
else:print('all')

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

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

range() 函数参数含义:

  • start:可选参数,起始数
  • stop:终止数,如果 range 只有一个参数 x ,那么 range 生产一个从 0 至 x-1 的整数列表
  • step:可选参数,步长
for i in range(1, 3 + 1):    # 使用 for 和 range 函数输出 1-3print(i)
print('\n')                  # 换行使用 for 和 range 函数输出 0-8 之间的偶数
for a in range(0, 8 + 1, 2): # print(a)
print('\n')

使用 for 语句遍历一个字典。由于 for 语句遍历的是字典的键,这样就可以使用 dic[key] 的形式同样遍历字典中的值:

peolple = { 'Tom':170, 'Jack':175, 'Kite':160, 'Tutu':180 }
for name in peolple:print(peolple[name])

在 for 循环中,除了循环的对象可以是元组以外,循环的目标也可以是元组,可以在循环的过程中对元组进行赋值等操作。

tt = ( ('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h') )
for t1 in tt:                 # 此处的 t1 相当于一个元组print(t1)
print('\n')
for (x, y) in tt:             # 循环的目标为一个元组print(x, y)

实例:通过在 for 循环中嵌套 for 循环语句及 if 语句,实现求解 50 至 100 之间的全部素数

import math          # 导入 math 模块,以使用求平方根的函数for i in range(50, 100 + 1):     # 遍历 50-100for t in range(2, int(math.sqrt(i)) + 1 ):   # 从 2 到 i 的平方根,此处使用 int 将 i 的平方根转为整数if i % t == 0:              # 判断 i 能否被 2 到 i 的平方根内的数整除break                   # 终止循环else:print(i)                  # 如果循环没有被 break 终止,即 i 为素数,打印 i

  • break 和 continue

break 和 continue 是专门在循环中使用的关键字
break 某一条满足时,退出循环,不再执行后续重复的代码
continue 某一条满足时,不执行后续重复的代码,其他条件统统要执行
break 和 continue 只针对当前所在循环有效

三、循环语句:while 语句

while 语句也是循环控制语句,与 for 循环不同的是,while 语句只有在测试条件为假时才会停止。在 while 的语句块中,一定要包含改变测试条件的语句,以保证循环能够结束,避免死循环的出现。

while 语句包含与 if 语句相同的条件测试语句,如果条件为假,则终止循环。while 语句有一个可选的 else 语句块,与 for 循环中的 else 语句块一样,当 while 循环不是由 break 语句终止时,则会执行 else 语句块中的语句。continue 语句也可以用于 while 循环中,其作用与 if 语句中的 continue 相同,都是跳过 continue 后的语句,进入下一个循环。

while 的一般格式如下:

while <条件>:if <条件>:break      # 终止循环if <条件>continue   # 跳过后面的语句<其他语句>
else:<语句>           # 如果循环未被 break 语句终止,则执行

while 循环不像 for 循环可以遍历某一对象的集合,while 循环最容易出现的问题就是测试条件永远为真,导致死循环。因此在使用 while 循环时,应仔细检查 while 语句的测试条件,避免出现死循环。

使用 while 语句打印 1-5

使用 while 语句访问一个列表(使用 while 语句遍历列表要比使用 for 语句遍历列表复杂一些):

初学__Python——Python的流程控制语句 if、for、while相关推荐

  1. python流程控制语句-python学习 流程控制语句详解

    ###################### 分支语句 python3.5 ################ #代码的缩进格式很重要 建议4个空格来控制 #根据逻辑值(True,Flase)判断程序的 ...

  2. python流程控制语句-Python中流程控制语句的详细介绍

    除了刚才介绍的while语句之外,Python也从其他语言借鉴了其他流程控制语句,并做了相应改变.Python中流程控制语句的详细介绍 4.1 ifStatements 或许最广为人知的语句就是if语 ...

  3. python 程序流程控制结构-python之流程控制语句

    通常情况下,python脚本总是安顺序执行的, 不过对于一些复杂的程序,可能需要根据执行过程中出现的不同的情况选择执行一部分语句而跳过另外一部分语句,或者重复执行某一部分语句,这时候就需要python ...

  4. python语言流程控制语句的格式_第四节 Python控制语句

    编程语言中的 if.for.while等流程控制语句,用来决定程序按照什么方式去执行. if语句格式 if 判断条件: 执行语句... else: 执行语句... 如果"判断条件" ...

  5. python语言流程控制语句的格式_Python流程控制语句的深入讲解

    1.程序结构 计算机在解决问题时,分别是顺序执行所有语句.选择执行部分语句.循环执行部分语句,分别是:顺序结构.选择结构.循环结构.如下图: 2.选择语句 2.1最简单的if语句 Python使用保留 ...

  6. python语言流程控制语句的格式_慢步学python,编程基础知识,流程控制语句if

    慢步业余学python编程,今天休息继续分享python编程知识. 面向过程编程,重要的是程序的流程,今天说说流程控制语句if. 在我们高中数学中就有流程图的学习,只是没有真正应用起来而已,办公软件也 ...

  7. Python之流程控制语句

    流程控制语句是用来实现对程序的选择.循环.跳转.返回等逻辑进行控制的,是一门编程语言中最重要的部分之一.相对于其他语言,Python的流程控制比较简单,主要有两大类,即循环和条件. 一.循环 实现循环 ...

  8. Python入门--流程控制语句continue

    #流程控制语句continue #用于结束当前循环,进入下一次循环(continue后面有代码我不管了),通常与分支结构if一起使用 ################################# ...

  9. Python入门--流程控制语句break

    #流程控制语句break #用于结束循环结构,通常与分支结构if一起使用 #################################### #for ... in ...: # ... # i ...

最新文章

  1. ModelBasedCompressiveSensing
  2. springMVC中Dispatcher中的/和/*的区别
  3. Linux系统如何测试电脑性能,如何使用DD命令测试Linux磁盘的性能?
  4. AcWing 788 逆序对的数量-归并排序
  5. NSLog 打印出方法函数,行数,内容
  6. 数学建模写作指导20篇(一)-如何写好数学建模论文?
  7. 2020阿里巴巴实习笔试题一
  8. 难道真的是RPWT-LFS日记1
  9. 树莓派linux led字符设备驱动(设备树)
  10. 最优化理论——罚函数法·乘子法
  11. 微信小程序搜索wifi列表
  12. 《中国医学大成》目录
  13. 【软件测试面试】面试技巧,让面试官记住的自我介绍,疯狂收割offer.....
  14. 以太网芯片mac/phy的关系
  15. PAT 1110 区块反转 (25 分) c语言
  16. 打印表格留标题怎么设置_打印如何添加标题?内容一页打不下?—关于Excel文档打印的那些事-excel打印区域怎么设置...
  17. C IN ARM64 汇编基础-变量与表达式-基于The C Programming Language - Second Edition
  18. Oracle错误:ORA-01400
  19. python基础 - pip 安装与升级
  20. 删除下拉框只找23火星软件_下拉词删除就找23火星

热门文章

  1. 【学习笔记】36、lambda是单表达式函数
  2. SAP 既是供应商,又是客户-互清(清账 F110中使用)
  3. ORA-00257: archiver error
  4. abap--REUSE_ALV_GRID_DISPLAY事件子过程和cl_gui_grid类的事件对应关系
  5. 跑赢A股95%的公司,半年大涨115%!明年的海尔智家更令人期待!
  6. “供应链”之后,传统零售如何会战“服务链”?
  7. Linux程序内存跟踪,分享一款Linux进程和内存活动监视神器
  8. linux中sh+$0,浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释
  9. php transport,PHPMailer - PHP email transport class
  10. pydroid3怎么保存_pydroid3