<h1 id="流程控制" data-source-line="1">流程控制
<h3 id="循环结构while" data-source-line="3">循环结构(while)
<ul data-source-line="5">
格式
执行流程:当程序执行到while语句时,首先判断表达式的真假。若表达式的值为真,则执行对应的语句块,之后返回while继续判断表达式的真假;若表达式的值为假,则跳过语句块,跳过while。
说明:
- 表达式:也叫循环条件
- 语句块:也叫循环体
- 死循环:表达式的值一直为真,称为死循环
- break:结束循环的执行(立即跳出循环)
- continue:结束本次循环,直接进入下次循环
- else:结合while使用
i = 1
i <= 10+= 1
退出会执行,非正常(break)退出时不会执行
()
说明:也是一种循环结构,常用于遍历可迭代的对象,如:字符串、列表、元组、字典、集合
-
格式:
x
执行流程:x依次表示y中的一个元素,遍历完所有元素后结束循环。
-
示例:遍历字符串、列表、字典
生成式" data-source-line="49">列表生成式
可迭代对象:列表、元组、字典等都是可迭代对象,可以遍历的对象
-
range函数:
(range(10(range(0,10<span style="color: #008000">#<span style="color: #008000"> range保存的是范围内的连续整数的生成方式<span style="color: #008000">
<span style="color: #008000"> 可以遍历
<span style="color: #0000ff">for i <span style="color: #0000ff">in range(10<span style="color: #000000">):
<span style="color: #0000ff">print<span style="color: #000000">(i)
<span style="color: #008000">#<span style="color: #008000"> 可以转换为列表
lt = list(range(10<span style="color: #000000">))
<span style="color: #0000ff">print(lt)
-
([i i range(1,11) i%2==0])
循环能否嵌套?
- 答:能
-
示例:
<span style="color: #008000">#
<span style="color: #008000"> 外层循环控制打印多少行
i = 1
<span style="color: #0000ff">while i < n+1<span style="color: #000000">:
<span style="color: #008000">#<span style="color: #008000"> 内层循环控制每一行的打印
j = 1
<span style="color: #0000ff">while j <=<span style="color: #000000"> i:
<span style="color: #0000ff">print(j,end=<span style="color: #800000">''<span style="color: #000000">)
j += 1<span style="color: #000000">
i += 1
<span style="color: #0000ff">print()
练习:使用for-in完成上面的题目
提示:可以结合range完成
说明:也是一种循环结构,常用于遍历可迭代的对象,如:字符串、列表、元组、字典、集合
格式:
x
执行流程:x依次表示y中的一个元素,遍历完所有元素后结束循环。
示例:遍历字符串、列表、字典
可迭代对象:列表、元组、字典等都是可迭代对象,可以遍历的对象
range函数:
(range(10(range(0,10<span style="color: #008000">#<span style="color: #008000"> range保存的是范围内的连续整数的生成方式<span style="color: #008000">
<span style="color: #008000"> 可以遍历
<span style="color: #0000ff">for i <span style="color: #0000ff">in range(10<span style="color: #000000">):
<span style="color: #0000ff">print<span style="color: #000000">(i)
<span style="color: #008000">#<span style="color: #008000"> 可以转换为列表
lt = list(range(10<span style="color: #000000">))
<span style="color: #0000ff">print(lt)
([i i range(1,11) i%2==0])
- 答:能
-
示例:
<span style="color: #008000">#
<span style="color: #008000"> 外层循环控制打印多少行
i = 1
<span style="color: #0000ff">while i < n+1<span style="color: #000000">:
<span style="color: #008000">#<span style="color: #008000"> 内层循环控制每一行的打印
j = 1
<span style="color: #0000ff">while j <=<span style="color: #000000"> i:
<span style="color: #0000ff">print(j,end=<span style="color: #800000">''<span style="color: #000000">)
j += 1<span style="color: #000000">
i += 1
<span style="color: #0000ff">print()练习:使用for-in完成上面的题目
提示:可以结合range完成
循环能否嵌套?