1、初识循环
在程序开发中,⼀共有三种流程⽅式:
- 顺序 —— 从上向下,顺序执⾏代码;
- 分⽀ —— 根据条件判断,决定执⾏代码的分支;
- 循环 —— 让特定代码重复执行;
1.1 while 循环简介
循环的作⽤就是让指定的代码重复的执⾏;
while 循环最常⽤的应⽤场景就是让执⾏的代码按照指定的次数重复执⾏ ;
让我们看看while语句的基本语法
while 条件:
pass
代码演示:
i = 0
while i <= 10:
print(i)
i += 1
注意:
while 语句以及缩进部分是⼀个完整的代码块 ;如果在循环内部忘记修改循环的判断条件,就会导致循环持续执行,程序无法终止!比如上面的循环语句,如果我没有在程序内部加入 i += 1,i就会永远<=10,就会造成死循环。
1.2 Python中的计数方法
常⻅的计数⽅法有两种,可以分别称为:
- ⾃然计数法(从 1 开始)—— 更符合⼈类的习惯;
- 程序计数法(从 0 开始)—— ⼏乎所有的程序语⾔都选择从 0 开始计数 ;
因此,⼤家在编写程序时,应该尽量养成习惯:除⾮需求的特殊要求,否则循环 的计数都从 0 开始。
示例:
在程序开发中,通常会遇到利⽤循环重复计算的需求 。
遇到这种需求,可以:
- 在 while 上⽅定义⼀个变量,⽤于存放最终计算结果 ;
- 在循环体内部,每次循环都⽤最新的计算结果,更新之前定义的变量。
# 定义一个变量 num, 存放从 0 到 100 累加的结果
num = 0
# 定义一个变量 a, 决定 while 循环的次数
a = 0
# 只要 a<=100,循环就一直会进行,直到 a > 100 循环结束
while a <= 100:
num += a
a += 1
# 循环结束后,打印 num 的值
print(num)
2、break 和 continue
break 和 continue 是专⻔在循环中使⽤的关键字 ;
共同点:
- 都是用于终止本次循环。
- break 和 continue 只针对当前所在循环有效 。
不同点:
- break 某⼀条件满⾜时,退出单层循环 ;
- continue 某⼀条件满⾜时,结束本次循环(不执⾏continue 后的循环体语句),执⾏下次循环 ;
2.1 Break
在循环过程中,如果某⼀个条件满⾜后,不再希望循环继续执⾏,可以使⽤break 退出循环 。
示例:
i = 0
while i < 10:
i += 1
# 如果 i 等于 5,while 循环退出
if i == 5:
break
print(i)
2.2 Continue
在循环过程中,如果 某⼀个条件满⾜后,不希望执⾏循环代码,但是⼜不希望退出循环,可以使⽤ continue 。
示例:
i = 0
while i < 10:
i += 1
# 如果 i 等于 5,跳过下面的 print,直接回到 while 的开始继续循环
if i == 5:
continue
print(i)
注:
使⽤ continue 时,条件处理部分的代码,需要特别注意,不⼩⼼会出现死循环 。
3、 while 循环嵌套
while 嵌套就是: while ⾥⾯还有 while ;简称套娃。
演示:
1、输入以下结果
*****
*****
*****
*****
*****
代码实现:
i = 0
# 外循环决定输出行数
while i < 5:
# 内循环决定每行输出的*号个数
j = 0
while j < 5:
print("*", end="")
j += 1
print("")
i += 1
2、输入以下结果
*
**
***
****
*****
代码演示:
i = 0
# 外循环决定输出行数
while i < 5:
# 内循环决定每行输出的*号个数
j = 0
while j <= i:
print("*", end="")
j += 1
print("")
i += 1
4、for 循环
for 循环主要用在遍历场景;
- 遍历就是从头到尾 依次从列表中获取数据;
- 在循环体内部针对每⼀个元素,执⾏相同的操作;
语法:
for 变量 in 字符串:
循环里要执行的代码
示例:
str1 = "求个关注+点赞"
for n in str1:
# n 分别代表 str1 字符串里每一个字符
print(n)
4.1 for 和 while
共同点:
都是循环;while 和 for 可以互换。
不同点:
- while 循环的最大作用是指定次数的循环;
- for 循环最大作用是遍历;
4.2 for 结合 范围函数 range
range 可以生成一个指定范围的数据。
使用:range(start, stop,int);
- start,范围开始值;
- stop 范围终止值(不包括 stop);
- int,步长,如果小于 0,代表生成降序范围,如果省略 int,默认值为 1。
示例:
# 生成从 0 到 9 的范围,不包括 10
range(0, 10)
# 生成从 2 到 11 的偶数,不包括 11
range(2, 11, 2)
# 生成从 20 到 11 的降序范围,不包括 10
range(20, 10, -1)
for n in range(0, 10):
print(n)