循环结构

CM Lv3

循环结构

1.1while循环的基础使用

语法格式:

1
2
while 条件:
条件满足时执行的语句……

只要条件(可以是bool或者比较运算)满足,就会无限循环执行

1.2while的嵌套循环

和if的嵌套几乎一模一样,只需要把if的嵌套中的if改成while就是while的嵌套循环了。

注意:此处的嵌套循环同样是基于空格缩进来决定层次关系。


补充内容:

  1. 默认print语句输出内容会自动换行,所以有时候也会用print语句输出空内容来实现换行。(与c语言不同)

如果想要使用print语句,输出不换行的功能的话,需要这么写:

1
2
print("Hello",end='')
print("World",end='')
  1. 制表符\t
    效果等同于tab键,可以让多行字符串进行对齐。

示例:
1
2
print("Hello\tWorld")
print("qiemi\t666")

如此输出以后,上下俩行的上下两个字符串就会对齐!

2.1 for循环基础语法

与while循环的区别:

  • while循环的循环条件是自定义的,自行控制循环条件
  • for循环是一种“轮询”机制,是对一批内容进行“逐个处理”

语法格式:

1
2
for 临时变量 in 待处理数据集(序列):
循环满足条件时执行的代码
  • in是一个关键字
  • 执行逻辑是从待处理数据集中的数据逐个取出,每个循环就将当前输出赋予这个临时变量,然后执行循环体内的代码。

举个例子:

1
2
3
name = "cheming"
for x in name:
print(x)
  • for循环是无法定义循环条件的,只呢从数据集里面依次取出内容进行处理,理论上来说Python的for循环无法构建无限循环。

  • 同样有空格缩进

2.2 range语句

待处理数据集的严格说法叫做:序列类型。
序列类型指:内容可以一个个依次取出的一种类型。包括:

  • 字符串
  • 列表
  • 元组

因此for循环语句,本质上是遍历:序列类型。

学习range语句,获得一个简单的数字序列:

语法1:

1
range(num)

可以获取一个从0开始,到num结束的数字序列(不含num本身)

比如range(5)取得的数据是: [0,1,2,3,4,]

语法2:

1
range(num1,num2)

获得一个从num1开始,到num2结束的数字序列(不包含num2本身)

语法3:

1
range(num1,num2,step)

获得一个从num1开始,到num2结束的数字序列(不包含num2本身),并且数字之间的步长以step为准。(step默认是1)

大多数的range序列都是配合for循环使用的

2.3 变量作用域

1
2
3
for i in range(5)
print(i)
print(i)

这样子的写法:

  • 规范上:不允许
  • 实际上:允许

for循环创建的临时变量的作用范围只在for循环的内部, 也就是作用域就在循环体内,不应该在for循环外部生效(不是不可能)。实际上是可以访问到的,但是在编程的规范上是不允许、不建议这么做。可以在for循环之前就定义好i。

2.4 for循环的嵌套

语法格式和while嵌套循环一样的。

关键点就是注意好空格缩进就行了

3. break和continue关键字

这两个关键字的用法和c语言中一样

continue:中断本次循环,直接进入下一次循环。可用于for和while循环,效果一致。

注意:

  • 如果是在嵌套循环中,continue只能在它所在的循环临时中断。也就是只会中断内部循环,而不会中断外部循环。

break: 直接结束循环,可用于for和while循环,效果一致。
注意:

  • 在嵌套循环中的用法与continue一样。
  • Title: 循环结构
  • Author: CM
  • Created at: 2023-07-15 17:07:27
  • Updated at: 2023-07-15 22:30:25
  • Link: https://redefine.ohevan.com/2023/07/15/循环结构/
  • License: This work is licensed under CC BY-NC-SA 4.0.
 Comments