循环
1 程序三大流程
- 在程序开发中,一共有三种流程方式:。
- 顺序——从上向下,顺序执行代码
- 分支-―根据条件判断,决定执行代码的分支
- 循环——让特定代码 重复执行
2 while循环基本使用
- 循环的作用就是让指定的代码重复的执行
- while 循环最常用的应用场景就是让执行的代码按照指定的次数 重复执行。
2.1 while语句基本语法
初始条件设置_通常是重复执行的&emps;计数器
while 条件(判断&emps;计数器&emps;是否达到&emps;目标次数):
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
…(省略)…
处理条件(计数器+1)
注意:
- while语句以及缩进部分是一个完整的代码块
练习
需求
打印5次hello python
i = 0
while i < 5:
print("hello pyhton")
i = i + 1 # 不可以用i++
注意:循环结束后,之前定义的计数器的数值是依旧存在的
死循环
由于程序员的原因,忘记在循环内部修改循环的判断条件,导致循环持续执行,程序无法终止!
2.2 Python中的计数方法
常见的计数方法有两种,可以分别称为:
- 自然计数法(从1开始)–更符合日常习惯
- 程序计数法(从0开始)–几乎所有的程序语言都选择从0开始计数
因此,在编写程序时,要养成习惯,除非需求的特殊要求,否则循环的计数都从0开始
2.3循环计算
在程序开发中,通常会遇到利用循环 重复计算的需求
遇到这种需求,可以:
- 在while上方定义一个变量,用于存放最终计算结果
- 在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量
练习
需求
- 计算0~100之间所有数字的累计求和结果
i = 0
total = 0
while i <= 100:
total += i
i += 1
print(total)
2.4 进阶练习
需求
- 计算0~100之间所有偶数的累计求和结果
法一:
i = 0
total = 0
while i <= 100:
total += i
i += 2
print(total)
法二:
i = 0
total = 0
while i <= 100:
if i % 2 == 0:
total += i
i += 1
print(total)
3 break 和continue
break和continue是专门在循环中使用的关键字
- break某一条件满足时,退出循环,不再执行后续重复的代码
- continue某一条件满足时,不执行后续重复的代码
break和continue只针对当前所在循环有效
注意:在循环中,如果使用continue,在使用前,需要确认循环的计数是否修改,否则可能会导致死循环
4 while循环嵌套
4.1循环嵌套
- while嵌套就是while里面还有while
while条件1:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
…(省略)…
while条件2:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
…(省略)…
处理条件2
处理条件1
4.2 练习
- 用嵌套打印小星星
需求
- 在控制台连续输出五行*,每一行星号的数量依次递增
i = 0
while i < 5:
print("*" * (i + 1))
i += 1
补充知识点:关于print函数
- 在默认情况下,print函数输出内容之后,会自动在内容末尾增加换行
- 如果不希望末尾增加换行,可以在print函数输出内容的后面增加,end=“”
- 其中“”中间可以指定print函数输出内容之后,继续希望显示的内容
- 语法格式如下:
#向控制台输出内容结束之后,不会换行
print("*" , end="")
#单纯的换行
print("")
,end=“”表示向控制台输出内容结束之后,不会换行
- 假设Python没有提供字符串的*操作拼接字符串
需求
- 在控制台连续输出五行*,每一行星号的数量依次递增
i = 1
while i < 5:
j = 1
while j <= i:
print("*", end="")
j += 1
print("") # 换行!!!
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
代码:
i = 1
while i < 10:
j = 1
while j <= i:
print("%d * %d = %d" % (j, i, i * j), end="\t")
j += 1
print("") # 换行!!!
i += 1
扩展:字符串中的转义字符
- \t在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐
- \n在控制台输出一个换行符
制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本
转义字符 | 描述 |
---|---|
\\ | 反斜杠符号 |
\’ | 单引号 |
\" | 双引号 |
\n | 换行 |
\t | 横向制表符 |
\r | 回车 |
5 for循环语法
- 在 Python中完整的for循环的语法如下:
for 变量 in 集合:
循环体代码
else:
没有通过 break退出循环,循环结束后,会执行的代码
for num in [1, 2, 3]:
print(num)
if num == 2:
break
else:
# 如果循环体内部使用break退出了循环
# else下方的代码就不会被执行
print("会执行吗? ")
print("循环结束")