Python流程控制的 for、 while、循环和嵌套词汇continue、break、range

简介:

本章 内容 含有 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语句用在whilefor循环中。

如果您使用嵌套循环,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 ,如需转载请自行联系原作者

相关文章
|
4天前
|
算法 测试技术 Python
python中算法无限循环(Infinite Loops)
【7月更文挑战第18天】
20 4
|
3天前
|
SQL 关系型数据库 数据库
优化Web开发流程:Python ORM的优势与实现细节
【7月更文挑战第20天】Python ORM,如Django ORM,提升Web开发效率,通过面向对象接口抽象数据库操作,简化SQL,增强代码可读性,并确保安全。Django中,定义Model对应数据库表,使用`makemigrations`和`migrate`创建表,实例化Model并调用`save()`保存数据,`objects.all()`和`filter()`查询数据,更新和删除数据涉及字段修改和调用`save()`或直接`delete()`。ORM提供数据库无关性,防止SQL注入,是现代Web开发的强大工具。
8 1
|
6天前
|
Python
Python中循环控制错误
【7月更文挑战第16天】
14 3
|
14天前
|
存储 索引 Python
【Python】已解决:IndexError: list index out of range
【Python】已解决:IndexError: list index out of range
23 1
|
18天前
|
设计模式 开发者 Python
Python中循环依赖问题及其解决方案
循环依赖是 Python 开发中需要特别注意的问题。通过重新设计模块结构、延迟导入、依赖注入、利用 Python 的动态特性以及代码重构等方法,可以有效地解决循环依赖问题。这些策略不仅有助于提高代码的可维护性和可读性,还能避免潜在的运行时错误。在实际开发中,开发者应该根据具体情况选择合适的解决方案。
|
18天前
|
数据采集 机器学习/深度学习 数据可视化
完整的Python数据分析流程案例解析-数据科学项目实战
【7月更文挑战第5天】这是一个Python数据分析项目的概览,涵盖了从CSV数据加载到模型评估的步骤:获取数据、预处理(处理缺失值和异常值、转换数据)、数据探索(可视化和统计分析)、模型选择(线性回归)、训练与评估、优化,以及结果的可视化和解释。此流程展示了理论与实践的结合在解决实际问题中的应用。
42 1
|
20天前
|
语音技术 开发者 Python
语音识别,python运行H ~W~,要使用英符,执行Python的流程是输入Python,回车,解释器的两大功能,翻译代码,提交计算机运算,多行代码运行,写一个py文件,pycharm安
语音识别,python运行H ~W~,要使用英符,执行Python的流程是输入Python,回车,解释器的两大功能,翻译代码,提交计算机运算,多行代码运行,写一个py文件,pycharm安
|
21天前
|
数据采集 存储 自然语言处理
Python爬虫与数据可视化:构建完整的数据采集与分析流程
Python爬虫与数据可视化:构建完整的数据采集与分析流程
|
21天前
|
C++ Python
揭秘!Python高手都在用的数据类型秘籍,列表推导式让你告别繁琐循环
【7月更文挑战第2天】Python的列表推导式是高手必备技巧,它让复杂的循环简化为一行代码,提升代码的可读性和效率。例如,要计算数字列表的平方,传统循环需使用`for`和`append()`,而列表推导式只需`[number ** 2 for number in numbers]`。此外,它还能结合条件表达式,如筛选并平方偶数:`[number ** 2 for number in numbers if number % 2 == 0]`。学会列表推导式,让你的Python代码更优雅、更易维护。
|
25天前
|
机器学习/深度学习 人工智能 程序员
探索Python宝库:从基础到技能的干货知识(数据类型与变量+ 条件与循环+函数与模块+文件+异常+OOP)
探索Python宝库:从基础到技能的干货知识(数据类型与变量+ 条件与循环+函数与模块+文件+异常+OOP)
17 0