python基础(二) —— 流程控制语句
编程语言中的流程控制语句分为以下几类:
- 顺序语句
- 分支语句
- 循环语句
其中顺序语句不需要单独的关键字来控制,就是按照先后顺序一行一行的执行,不需要特殊的说明。
下面主要是 分支语句 和 循环语句的说明:
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循环通常用于遍历序列(如list、tuple、range、str)、集合(如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基础(二) —— 流程控制语句的更多相关文章
- Python基础二--基本控制语句
基本接触每一种语言,都须要做的:1.print 一个"Hello world!" 2.了解主要的数据类型 3.学习控制语句. 当我们学习控制语句,一般都离不开if,for ,whi ...
- Python 入门之流程控制语句
Python 入门之流程控制语句 1.if判断 (1) 单 if if –-如果 if 条件: 缩进 结果 (官方推荐4个空格,或者一个tab 不能空格和tab混合使用) money = 10 pri ...
- Python 基础 二
Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...
- python 基础二-----数据类型和控制语句
一.数据类型: 1)数据类型 1.整数(int) 2.浮点数(float) 3.字符串(string) 4.列表(list) 5. 元组(tuple) 6.字典(dict): key和value是一一 ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- java基础3_流程控制语句
一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- python基础(二)----数据类型
Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...
- java基础(5):流程控制语句(switch)、数组
1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...
随机推荐
- PAT团体程序设计天梯赛 - 模拟赛
由于本人愚笨,最后一题实在无力AC,于是只有前14题的题解Orz 总的来说,这次模拟赛的题目不算难,前14题基本上一眼就有思路,但是某些题写起来确实不太容易,编码复杂度有点高~ L1-1 N个数求和 ...
- 最短路之Floyd(弗洛伊德)
只有五行的Floyd最短路算法: 核心代码 每次都更新通过k点,然后从i到j的最短路程...
- swiper.js插件的使用
swiper切换动画效果,需要先加载swiper.animate.min.js和animate.min.css. <!DOCTYPE html><html> <he ...
- codeforces 615 B. Longtail Hedgehog (DFS + 剪枝)
题目链接: codeforces 615 B. Longtail Hedgehog (DFS + 剪枝) 题目描述: 给定n个点m条无向边的图,设一条节点递增的链末尾节点为u,链上点的个数为P,则该链 ...
- 洛谷 P1892 团伙
P1892 团伙 并查集 #include<cstdio> int fa[2500];//fa[i]表示i的朋友所在集合,fa[i+n]表示i的敌人所在集合 bool boo[2500]; ...
- PopupWindow(1)简介
PopupWindow有点类似于Dialog,相同点在于都是弹出窗口,并且都可以对其进行自定义显示,并且里面的监听组件,进行相应的操作,但它与Dialog又有很大的区别,PopupWindow只是弹出 ...
- HAL之PWM
PWM是定时器的一个输出功能,要分配在有对应输出的管脚上.分频和定时值决定了周期,捕获寄存器的值就是占空比,当计数寄存器的值小于捕获值时输出固定电平(H),当大于时翻转电平,当计数器值溢出时将重载值载 ...
- Hadoop体系结构管理
一.查看Zookeeper信息 [hadoop@weekend01 ~]$zkServer.sh status JMX enabled by default Using config: /hadoop ...
- 《Redis开发与运维》快速笔记(一)
1.前言&基本介绍 在原始的系统架构中,我们都由程序直接连接DB,随着业务的进一步开展,DB的压力越来越大,为了缓解DB的这一压力,我们引入了缓存,在程序连接DB中加入缓存层, 从而减轻数据库 ...
- 【学习笔记】block、inline(替换元素、不可替换元素)、inline-block的理解
本文转载 总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).blo ...