编程语言中的流程控制语句分为以下几类:

  • 顺序语句
  • 分支语句
  • 循环语句

其中顺序语句不需要单独的关键字来控制,就是按照先后顺序一行一行的执行,不需要特殊的说明。

下面主要是 分支语句 和 循环语句的说明:

Python中的真假判断标准:

Python中只有判断语句的最终结果:非0,非空,非None,结果就为真

1、分支语句

条件分支语句是通过一条或多条语句(判断条件)的执行结果(True/False)来决定执行哪个分支的代码块。

Python中提供的分支语句为:if..else语句,没有提供switch..case语句。

if..else语句有以下几种形式:

1.1 单分支:

if 判断条件:

代码块

如果单分支语句的代码块只有一条语句,可以把if语句和代码写在同一行:

if 判断条件: 一句代码

示例:

a = 1
b = 5
c = 10
if a <= b <= c:
   
print('1 <= 5 <= 10')

输出:

1 <= 5 <= 10

代码块中只有一条语句,可以改写为:

a = 1
b = 5
c = 10
if a <= b <= c:   
print('1 <= 5 <= 10')

输出:

1 <= 5 <= 10

1.2 双分支:

if 判断条件:

代码块

else:

代码块

示例:

a = 1
b = 5
if a >= b :
   
print('a大于b')
else:
   
print('a小于b')

输出结果:

a小于b

1.3 多分支:

if 判断条件1:

代码块1

elif 判断条件2:

代码块2

...

elif 判断条件n:

代码块n

else:

默认代码块

示例:根据学生分数打印字母等级

score = 88.8

level = int(score % 10)

if level >= 10:

print('Level A+')

elif level == 9:

print('Level A')

elif level == 8:

print('Level B')

elif level == 7:

print('Level C')

elif level == 6:

print('Level D')

else:

print('Level E')

输出结果:Level B

注意

当上面的“判断条件”中的表达式可以是任意的表达式,也可以是任意类型的数据对象实例。只要判断条件的最终返回结果的值测试为True时,就表示该条件成立,相应的代码块就会被执行;否则表示条件不成立,需要判断下一个条件

 

2、循环语句

当我们需要多次执行一个代码语句或代码块时,可以使用循环语句。

Python中提供的循环语句有2种:while循环(通用)和for循环(已知循环次数使用)。

需要注意的是Python中没有do..while循环

此外,还有几个用于控制循环执行过程的循环控制语句:break、continue和pass。

2.1.  while循环

基本形式

2.1.1  while循环语句基本语句

基本形式如下:

while 判断条件:

代码块

当给定的判断条件的返回值的真值测试结果为True时执行循环体的代码,否则退出循环体

示例:循环打印数字0-9

count = 0

while count <= 9:

print(count, end='
')

count += 1

输出结果:0 1 2 3 4 5 6 7 8 9

2.1.2  while死循环

当while的判断条件一直为True时,while循环体中代码就会永远循环下去

while True:

print("这是一个死循环")

输出结果:

这是一个死循环

这是一个死循环

这是一个死循环

...

此时可以通过Ctrl + C终止运行。

2.1.3  while..else

语句形式:

while 判断条件:

代码块

else:

代码块

else中的代码块会在while循环正常执行完的情况下执行,如果while循环被break中断,else中的代码块不会执行。

 

示例1:while循环正常执行结束的情况(else中的语句会被执行)

count = 0

while count <=9:

print(count, end='
')

count += 1

else:

print('end')

执行结果为:0 1 2 3 4 5 6 7 8 9 end

示例2:while循环被中断的情况(else中的语句不会被执行)

count = 0

while count <=9:

print(count, end='
')

if count == 5:

break

count += 1

else:

print('end')

输出结果:0 1 2 3 4 5

2.2.  for循环

for循环通常用于遍历序列(listtuplerangestr)、集合(set)和映射对象(dict)

基本形式

2.2.1.  for循环的基本格式:

for   临时变量   in   可迭代对象:

代码块

示例:遍历打印一个list中的元素

names = ['Tom', 'Peter', 'Jerry', 'Jack']

for  name  in  names:

print(name)

对于序列,也通过索引进行迭代:

names = ['Tom', 'Peter', 'Jerry', 'Jack']

for  i  in  range(len(names)):

print(names[i])

执行结果:

Tom

Peter

Jerry

Jack

2.2.2  for...else

与while..else基本一致,同样else语句只有在for循环正常执行结束时才会执行,如果for循环被break跳出,则不执行else语句。

2.3. 循环控制语句

循环控制语句可以更改循环体中程序的执行过程,如中断循环、跳过本次循环。

循环控制语句

说明

break

跳出当前层循环,不能一次跳出多层

contine

跳过本次循环,继续执行本层的下一次循环

pass

pass语句是个空语句,只是为了保持程序结构的完整性,相当于占位符,没有什么特殊含义。

pass语句并不是只能用于循环语句中,也可以用于分支语句中。

示例1:遍历0-9范围内的所有数字,并通过循环控制语句打印出其中的奇数

for  i  in  range(10):

if  i % 2 == 0:

continue

print(i, end=' ')

输出结果:1 3 5 7 9

示例2:通过循环控制语句打印一个列表中的前3个元素

names = ['Tom', 'Peter', 'Jerry', 'Jack', 'Lilly']

for  i  in  range(len(names)):

if  i  >=
3:

break

print(names[i])

输出结果:

Tom

Peter

Jerry

2.4. 循环嵌套

循环嵌套是指:在一个循环体里面嵌入另一循环。

示例1:通过while循环打印99乘法表

j = 1

while j <= 9:

i = 1

while i <= j:

print('%d*%d=%d'
% (i, j, i*j), end='\t')

i += 1

print()

j += 1

示例2:通过for循环打印99乘法表

for j in range(1, 10):

for i in range(1, j+1):

print('%d*%d=%d' % (i, j, i*j), end='\t')

i += 1

print()

j += 1

注意:python中没有类似C中的自增和自减运算,因为数值类型的对象在python中属于不可变类型,不能够原位改变其值

python基础(二) —— 流程控制语句的更多相关文章

  1. Python基础二--基本控制语句

    基本接触每一种语言,都须要做的:1.print 一个"Hello world!" 2.了解主要的数据类型 3.学习控制语句. 当我们学习控制语句,一般都离不开if,for ,whi ...

  2. Python 入门之流程控制语句

    Python 入门之流程控制语句 1.if判断 (1) 单 if if –-如果 if 条件: 缩进 结果 (官方推荐4个空格,或者一个tab 不能空格和tab混合使用) money = 10 pri ...

  3. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

  4. python 基础二-----数据类型和控制语句

    一.数据类型: 1)数据类型 1.整数(int) 2.浮点数(float) 3.字符串(string) 4.列表(list) 5. 元组(tuple) 6.字典(dict): key和value是一一 ...

  5. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  6. java基础3_流程控制语句

    一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...

  7. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

  8. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  9. java基础(5):流程控制语句(switch)、数组

    1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...

随机推荐

  1. python __builtins__ map类 (44)

    44.'map',  根据提供的函数对指定序列做映射. class map(object) | map(func, *iterables) --> map object | | Make an ...

  2. spoj SUBLEX - Lexicographical Substring Search【SAM】

    先求出SAM,然后考虑定义,点u是一个right集合,代表了长为dis[son]+1~dis[u]的串,然后根据有向边转移是添加一个字符,所以可以根据这个预处理出si[u],表示串u后加字符能有几个本 ...

  3. 2018 年度码云热门项目排行榜 TOP 10

    2016 年度码云热门项目排行榜 TOP 10 是通过开源项目2016年在码云上的 Watch.Star.Fork 数量来评定的榜单.码云平台发展至今,涌现了越来越多优秀的开源项目,越来越多的开源作者 ...

  4. hdu3926 Hand in Hand 同构图

    #include<cstring> #include<cstdio> #include<algorithm> using namespace std; ]; str ...

  5. macos php安装扩展sqlsrv连接sqlserver

    Install the PHP Drivers for SQL Serve sudo pecl install pdo_sqlsrv   sudo pecl install sqlsrv 微软官方文档 ...

  6. UWP 实现分享功能

    一:需求 实现点击分享按钮,分享内容到微博,邮箱等.. like this 二:DataTransferManager 数据传输管理类 DataTransferManager dataTransfer ...

  7. linux之lamp环境的搭建

    linux之lamp环境的搭建 1.安装lamp环境的安装工具 我们的lamp环境都是采用源码包进行编译安装: 编译安装需要工具gcc gcc-c++. 建议在线联网安装:yum  -install ...

  8. 1-3方法的重载(overload)

    之前已经写了一个方法sumInt用来计算两个int类型数字的和,如果要是想计算两个float类型数字的和呢?ok,那就再来写一个sumFloat方法,除此之外,还有long类型,double类型,如果 ...

  9. 与Cookie相比,Web Storage存在的优势

    与Cookie相比,Web Storage存在不少的优势,概括为以下几点:1. 存储空间更大:能提供5MB的存储空间(不同浏览器的提供的空间不同),Cookie仅4KB2. 存储内容不会发送到服务器: ...

  10. Linux下cpu过高问题排查

    原文地址:https://blog.csdn.net/chenjunan888/article/details/80447800 在服务器报cpu过高时,可使用以下命令,快速导出堆栈信息,以方便查看具 ...