本章 内容 含有 python的流程控制
循环使用语法 For while
嵌套 语法 Contitune breck
循环语法
Python中 循环语法有 for 、 while
他们都是实现 一个 同一个目的,当有一段程序,我希望反复执行的时候,就会用到 这两个循环。
For语法
For循环是有 循环次数的,取决于 提取元素的序列,按照元素出现的顺序送代任何序列 (列表或者字符串)
比如说 字符串 就是 序列 ,比如 定义好一个 hello,它的序列就是5次, for 循环 理论是来讲都是有 循环次数的,你的数无穷大的话,都是有循环次数的。
For语法
For 送代变量 in 序列:
代码块
range()
For in : 是固定的循环格式
For 表示 要开始循环 迭代变量逐级从 序列里取值
每取一个序列然后 执行代码块,从序列里 值 取浄了 这个循环 就执行结束
For 例子
1
2
|
for td in ('power off'):
print(td)
|
表达含义
For 循环 迭代变量 td power off 字符串 序列
把 td 打印 出来 ,看下I 取的什么值
是先 取出 第一个值
然后在取最后一个值 f 没有了,for 循环就这样结束了
运行结果
1
2
3
4
5
6
7
8
9
|
p o w e r o f f |
如果为了 单纯控制 循环次数 ,任何值都可以
任何值 例子
1
2
|
for w in ('233456'): print('今天学校停电')
|
表达含义
For 送代变量 w 字符串序列 一共为6位
打印什么都是随意的
W 从后面取值的过程只是用来控制循环的次数
从 字符串 序列中取值为6位
运行了6次 打印内容
运行结果
1
2
3
4
5
6
|
今天学校停电 今天学校停电 今天学校停电 今天学校停电 今天学校停电 今天学校停电 |
如果只是为了 循环 次数 那么不需要 用其它词的个数序列 来表达了
这里 就会用到 一共 内置函数 range() 会自动生产 一个等差级 数值链表
内置函数range()
range例子
1
2
|
or y in range (5): print(y)
|
表达含义
For 循环 y 这个送代变量调用内置函数range(5)
运行结果
1
2
3
4
5
|
0 1 2 3 4 |
range 可以快速 生成一共 被提取的序列
range还可以生成制定区间的值
range 指定数字开始并指定不同的增量(甚至可以是复数;跟布长值一个概念)
在有人在迭代取值的时候它会生成值,这种现象 叫做 生成器
range函数可以用于 循环的 时候 想循环几次 ,那就生成几 ,可直接拿来用。
用range 快速生成例子
1
2
|
for qxq in range (3): print('是range函数调用我的=。=')
|
表达含义
for 循环 qxq 调用 range函数
运行结果
1
2
3
|
是range函数调用我的=。= 是range函数调用我的=。= 是range函数调用我的=。= |
range 还有一种 高级的用法 ,可以指定 生成的范围。
range例子
1
2
|
for p in range (1,5): print(p)
|
表达含义
For 循环 送代函数 p 内置函数range调用(1,5)
表示起始值为 1 结束值为5,但不包含结束值
这个概念和切片差不多。
运行结果
1
2
3
4
|
1 2 3 4 |
range 运用 步长值 例子
1
2
|
for p in range (1,10,2): print(p)
|
表达含义
For 循环 p 调用 range 语句(1,10,2)起始值为1 结束值为2,每隔两个取个值
和 切片的概念差不多,步长值为2,每隔两个取一个值。
运行结果
1
2
3
4
5
|
1 3 5 7 9 |
概括
For 既可以从 序列当中取出值 ,也可以打印 也可以依据序列里面值的个数 ,执行多少次循环,从序列当中取值的过程 叫做 遍历 for循环通常都是有次数的循环,循环过程当中都是从序列中取值,可以加以利用,也可以不用。
如果不需要序列里面值的时候一般都用range,如果用到里面值了,可以取出来下面接着用。
While语法
While语法
While 条件:
代码块
一般需要 一个 一直 执行的程序,直到用户 要求退出了 才退出的 程序,这个时候就要用到wihle 循环。
While 循环 有点像 把 for循环 if 循环 做了一个集合
根据一个条件来判断 是否继续 循环
条件成立就执行
条件不成立才会结束
While循环有个问题如果条件一直无法不成立就会成为一个死循环。
While 例子
一个while 基本方式
1
2
3
|
a = 'b' while a != '金牌讲师 大司马': a = input ('我就不喊你哼╭(╯^╰)╮我是铁头娃:')
|
表达含义
a = b 为了让 a 语句成立
while判断 条件 a 不等于 字符串 内容 金牌讲师大司马 成立。就会一直执行
执行代码块内容 a = input('内容 自定义') 用input 是为了跟用户产生一个交互
input 还带 打印 功能 只要用户输入的一直成立,就会一直执行,直到不成立
运行结果
1
2
3
4
5
|
我就不喊你哼╭(╯^╰)╮我是铁头娃:我头铁 我就不喊你哼╭(╯^╰)╮我是铁头娃:皮的嘛,就不谈了 我就不喊你哼╭(╯^╰)╮我是铁头娃:我错了 我就不喊你哼╭(╯^╰)╮我是铁头娃:金牌讲师 大司马 >>> |
如果你想执行死循环的话
那就执行while = 1
如果不想 执行 死循环的话 ,就必须在while循环当中 设置某种机制然后可以解除while循环、
比如break等类似跳出 语句循环的 才会终止
死循环例子
1
2
|
while 1 : a = input ('这是个死循环哦~~~~~:')
|
表达含义
While 1代表一个 常量表达式,它永远不会= 0,所以循环会一直执行下去。
这里 a 不管输入什么 都判断为真
运行结果
1
2
3
4
5
6
|
这是个死循环哦~~~~~:ha 这是个死循环哦~~~~~:我要出去 这是个死循环哦~~~~~:德玛西亚万岁 这是个死循环哦~~~~~:一切都是为了荣耀 这是个死循环哦~~~~~:麻利麻利哄 这是个死循环哦~~~~~:我绝望了 |
嵌套 语句 Contitune breck
嵌套和循环控制 都是跟 if for while相关的知识。
嵌套可以实现千变万化的 功能 ,可能你只用 if for while 可能无法达成 某个功能的时候。或者 发现 某个 if for 循环这个时候 ,要根据 某个条件 完成某件 事情,这个时候 就要用到 嵌套了。
嵌套浅意 == 在一个语法结构 当中 涵盖了 另一个 语法结构,可以任意组合。
在嵌套环境下,要注意 语句缩进 因为完全是根据缩进来 选择 优先 执行的
在里面 判断是否 属于 for 循环的 还是 if的,完全是由缩进来决定了,
在嵌套环境下 不只是 判断4个空格了。但是主题语句结构还是4个空格,
跟你当前的 语句是有关系的。
嵌套
For 送代变量 in 序列:
If 条件
代码块
代码块
还是那句话,语法结构 本生 并不复杂, 复杂的是人的 想法。
for 嵌套 if 的例子
1
2
3
|
for i in range(18): #for 循环 i in带入 并且用 内置函数 range 生成一个等差级数链表 0 ~18 print(i) #打印出i
if i > 5: # if 判断如果 i > 5
|
表达含义
先执行循环 for的 range 内置函数等差数链表0~18,
从0开始
打印出 i
If判断 一直到 6 成立了。才会执行 if里面的语句。i * 10
If 结束后 继续执行for循环 未执行完的语句。
运行结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
0 1 2 3 4 5 6 60 7 70 8 80 9 90 10 100 11 110 12 120 13 130 14 140 15 150 16 160 17 170 |
语法层次的例子
1
2
3
4
|
for i in range (18): if i > 5 :
print(i*10)
print(i)
|
表达含义
For 的打印 放在最后
先不成立 会一直打印 for 循环的语句
成立后 先 执行 if 语句 在执行 for循环的打印
运行结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
0 1 2 3 4 5 60 6 70 7 80 8 90 9 100 10 110 11 120 12 130 13 140 14 150 15 160 16 170 17 |
下面 介绍的 是基本的 嵌套,嵌套有很多功能,具体 做什么 都是根据实际的需求
介绍 三个 嵌套控制 里面的 重要 组成部分
共有 控制 循环 嵌套
如果 要把 嵌套代码 修改 ,让它 在 第 5次或者,第6次的时候 停止循环,跳出循环,
不执行循环嵌套, 这个时候 就要 用到 控制 循环。
简要说明 下 continue 和 breck 的使用 方法 简介
Continue作用: 用来跳出下面余下的代码,紧接着执行下一次迭代取值。从它往下都不执行
Bareck的作用: 跳出当前循环 结束当前整个循环。
continue 例子
1
2
3
4
5
|
for i in range (10): if i == 5 :
print(i*10)
continue
print (i)
|
表达简易
For 判断 i 用内置函数 range 生产一个 等差级数列表, 打印0~10
If 判断 i如果 i完全等于 5 这个整数的时候
If判断成立 打印 i *10
执行if语句的 Continue 不会结束循环,跳过本次循环
被上面的 continue 跳过了 本次 循环 就不会打印5了
运行结果
1
2
3
4
5
6
7
8
9
10
11
|
0 1 2 3 4 50 5 6 7 8 9 |
Break的作用: 跳出当前循环 结束当前整个循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
Breck例子
1
2
3
4
5
6
|
while 1 : a = input ('执行一个循环然后引用baeak停止:')
if a == 'no':
break
|
表达简易
while 1 表达一个 常量表达式,它永久不会 = 0,所以循环 会一直 执行下去。除非设置 break 等类似 跳出 语句循环的 才会终止
a = 输入 一句话 input 输入 具有打印 作用
if 判断 a 如果全等于 字符串 no
执行 break 跳出 当前循环 结束当前整个循环
运行结果
1
2
3
4
|
执行一个循环然后引用baeak停止:23333 执行一个循环然后引用baeak停止:emmmm 执行一个循环然后引用baeak停止:no >>> |
混合嵌套例子
1
2
3
4
5
6
7
8
9
|
for a in range (15): if a == 5:
print(a-2)
continue
if a == 13 :
print(a)
break
print (a) |
表达含义
For 循环 a 送代变量 调用 内置函数range 送代变量
先if 判断 a 如果完全等于 5
成立 执行代码块内容
等于 5的 时候 -2
Continue 跳出余下代码块 执行下一次循环
if 判断 a 如果完全 等于 13
成立 执行 代码块 内容 打印 这个值
Break 结束当前整个循环
运行结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
0 1 2 3 4 3 6 7 8 9 10 11 12 13 |
有时候 会 需要 人为的 死循环,给个跳出当前的循环的值
死循环例子
1
2
3
4
|
while 1: a = input ('我就是大哥:')
if a == '大哥救救我吧':
break
|
表达含义
while 1 表达一个 常量表达式,它永久不会 = 0,所以循环 会一直 执行下去。除非设置 break 等类似 跳出 语句循环的 才会终止
a = 输入(内容自定义)这里是为 跟用户交互
if 判断 a 如果什么 用户 输入了 大哥救救我吧
执行代码块内容 break 结束当前整个循环
运行结果
1
2
3
4
|
我就是大哥:救命 我就是大哥:大哥 我就是大哥:我跟你了 我就是大哥:大哥救救我吧 |
2017年 12月1号 王宇林
本文转自 新网学会51CTO博客,原文链接:http://blog.51cto.com/xwxhvip/2046593 ,如需转载请自行联系原作者