文章目录
- 什么是循环语句?
- Python中的循环语句
- while循环
- while循环的格式
- while循环应用举例
- for循环
- for循环的格式
- for 循环的 else
- 循环嵌套
- while嵌套的格式
- for循环的嵌套格式
- 嵌套应用小练习:
- break和continue
- break
- continue
什么是循环语句?
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。 循环语句是由循环体及循环的终止条件两部分组成的。(来自百度百科)
Python中的循环语句
while循环
当满足条件时进入循环,并执行循环语句。当条件不满足时,跳出循环。
while循环的格式
while 条件语句:
执行语句
执行语句可以是单个语句或语句块。
判断条件可以是任何表达式,任何非零、或非空(None)的值均为true。
当判断条件为false,即条件不满足时,循环结束。
while循环应用举例
计算从1加到100的最后结果,并输出打印
i = 1
sum = 0 # 最终结果
while i <= 100: # 当i<=100的时候,就执行下面的语句
sum = sum + i # 将i的值累加到sum中
i += 1 # 令i的值加1
print(f"1~100的累积和为{sum}")
输出结果:
1~100的累积和为5050
整体的执行过程可以这样理解:
首先,想要从1加到100,那么肯定要有一个变量从1改变到100,我们在这里将这个值定义为i。并定义一个接收最终结果的值,叫sum。既然i是从1变到100的,那么循环的条件就是i<=100,循环过程如下:
第一次执行,i = 1,sum=0, i 满足 <=100 的条件,执行 sum=sum+i,此时 sum = 1;再执行 i+=1,此时i=2;
第二次执行,i = 2,sum=1, i 满足 <=100 的条件,执行 sum=sum+i,此时 sum = 3;再执行 i+=1,此时i=3;
第三次执行,i = 3,sum=3, i 满足 <=100 的条件,执行 sum=sum+i,此时 sum = 6;再执行 i+=1,此时i=4;
…
for循环
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
for 临时变量 in 要遍历的对象:
执行语句
例如:
name = 'Python'
for x in name:
print(x)
输出结果:
P
y
t
h
o
n
for 循环的 else
在for循环中我们也可以使用else,只有当循环正常结束才会执行,也就是没有被 break 打断才会执行。
my_word = 'pythonz'
for x in my_word:
if x == "z": # 如果有任何一个字符=Z,就结束循环,也就不会执行else了
print(x)
break
else:
print('my_word中没有z')
循环嵌套
类似之前学过的if嵌套,while嵌套就是:while里面还有while
while嵌套的格式
while 条件语句1:
执行语句1
while 条件语句2::
执行语句2
for循环的嵌套格式
for 临时变量1 in 要遍历的对象1:
执行语句1
for 临时变量2 in 要遍历的对象2:
执行语句2
嵌套应用小练习:
一、打印如下图形:
& & & & &
& & & &
& & &
& &
&
参考代码:
i = 5
while i >= 1:
j = i
while j >= 1:
print("& ", end='') # 代表不换行,用空字符串连接两行
j -= 1
print("\n")
i -= 1
输出结果:
& & & & &
& & & &
& & &
& &
&
二、打印九九乘法表
参考代码:
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}*{i}={i * j}", end=' ')
j += 1
print('\n')
i += 1
输出结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
break和continue
想象这样一种情况,当我们的循环在某种情况下需要终止,或是跳过某些元素时应该怎么做呢?python为我们提供了break和continue语句
break
程序在循环时,如果遇到break语句,会立即终止循环,跳转到循环之后开始执行。
例子:
小王某天喝酒回家晚了,被媳妇罚跪搓衣板10分钟。跪到5分钟的时候,媳妇心疼了,不让小王继续跪了
i = 1
time = 10
while i <= 10:
print(f"小王已跪搓衣板{i}分钟")
i += 1
if i > 5: # 如果>5分钟,就执行break,循环就不再执行了
print('好了,不用跪了')
break
输出结果:
小王已跪搓衣板1分钟
小王已跪搓衣板2分钟
小王已跪搓衣板3分钟
小王已跪搓衣板4分钟
小王已跪搓衣板5分钟
好了,不用跪了
continue
当循环中需要跳过某些情况时,continue就派上用场了。continue代表会跳过当前这次循环,继续执行后续的循环。
例子:
还是小王,某天喝酒回家晚了,被媳妇罚跪搓衣板10分钟。但是这次换要求了,媳妇要求奇数分钟时让小王跪着,偶数分钟时可以起来休息
i = 1
time = 10
while i <= 10:
print(f"小王跪搓衣板第{i}分钟")
i += 1
if i % 2 == 0: # 偶数分钟,小王可以起来休息
print('小王起来休息了一会')
i += 1
continue
输出结果:
小王跪搓衣板第1分钟
小王起来休息了一会
小王跪搓衣板第3分钟
小王起来休息了一会
小王跪搓衣板第5分钟
小王起来休息了一会
小王跪搓衣板第7分钟
小王起来休息了一会
小王跪搓衣板第9分钟
小王起来休息了一会break/continue在for循环和while循环中都可以使用
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用