python入门(4)循环
一、程序三大流程
- 顺序–从上到下,顺序执行代码
- 分支–根据条件判断,决定执行代码的分支
- 循环–让特定代码重复执行
二、while循环基本使用
- 循环的作用就是让指定的代码重复执行
- while循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
- while语句基本语法
初始条件设置—通常是重复执行的 计数器
while 条件(判断 计数器 是否达到 目标次数):
条件满足时,做的事情1
条件满足时,做的事情1
条件满足时,做的事情1
。。(省略)。。
处理条件(计数器 +1) - while语句以及缩进部分是一个完整的代码块。
- while案例–打印5遍Hello Python
#1.定义重复次数计数器
i = 0
#2.使用while判断条件
while i < 5:
#要重复执行的代码
print("Hello Python")
# 处理计数器 i
i = i + 1
print("循环结束后的i = %d" % i)
注意:循环结束后,之前定义的计数器条件的数值是依旧存在的。
- 死循环
由于程序员的原因,忘记在循环内部修改循环的判断条件,导致循环持续执行,程序无法终止。
三、赋值运算符
- 在Python中,使用=可以给变量赋值
- 在算术运算时,为了简化代码的编写,python还提供了一系列的与算术运算符对应的赋值运算符,
- 注意:赋值运算符中间不能使用空格
四、Python中的计数方法
常见的计数方法有两种,可以分别称为:
- 自然计数法(从1开始)–更符合人类的习惯
- 程序计数法(从0开始)–几乎所有的程序语言都选择从0开始计数
因此,大家在编写程序时,应该尽量养成习惯:除非需求的特殊要求,否则循环的计数都从0开始
五、循环计算
- 在程序开发中,通常会遇到利用循环重复计算的需求
遇到这种需求:可以
在while上方定义一个变量,用于存放最终计算结果
在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量。 - 需求:计算0~100之间所有数字的累计求和结果
#0.定义最终结果的变量
result = 0
#1.定义一个整数的变量记录循环的次数
i = 0
#2.开始循环
while i <= 100:
print(i)
# 每一次循环,都让 result 这个变量和i这个计数器相加
result += i
#处理计数器
i += 1
print("0~100之间的数字求和结果 = %d" % result)
- 需求进阶
计算0~100之间所有偶数的累计求和结果
步骤:编写循环确认要计算的数字;添加结果变量,在循环内部处理计算结果
# 编写循环确认要计算的数字
# 添加结果变量,在循环内部处理计算结果
#0.定义最终结果的变量
result = 0
#1.定义一个整数的变量记录循环的次数
i = 0
#2.开始循环
while i <= 100:
#判断变量i中的数值,是否是一个偶数
#偶数 i % 2 == 0
#奇数 i % 2 != 0
if i % 2 == 0:
print(i)
# 每一次循环,都让 result 这个变量和i这个计数器相加
result += i
#处理计数器
i += 1
print("0~100之间的偶数求和结果 = %d" % result)
六、break和continue
- break和continue是专门在循环中使用的关键字
- break某一条件满足时,退出循环,不再执行后续重复的代码
- continue某一条件满足时,不执行后续重复的代码
- break和continue只针对当前所在循环有效
- break使用案例
i = 0
while i < 10:
# break 某一条件满足时,退出循环,不再执行后续重复的代码
#i == 3
if i == 3:
break
print(i)
i += 1
print("over")
- continue使用案例
注意:在循环中,如果使用continue这个关键字
在使用关键字之前,需要确认循环的计数是否修改
否则可能会导致死循环
i = 0
while i < 10:
# continue 某一条件满足时,不再执行后续重复的代码
#i == 3
if i == 3:
# 注意:在循环中,如果使用continue这个关键字
# 在使用关键字之前,需要确认循环的计数是否修改
# 否则可能会导致死循环
i += 1
continue
print(i)
i += 1
print("over")
七、循环嵌套
- while嵌套就是:while里面还有while
- 语法格式
while 条件1:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
…(省略)…
while 条件2:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
…(省略)…
处理条件2
处理条件1 - 循环嵌套演练—九九乘法表
第一步:打印小星星
需求:在控制台连续输出五行*,每一行星号的数量依次递增
# 1.定义一个计数器变量,从数字1开始,循环会比较方便
row = 1
# 2.开始循环
while row <= 5:
print("*" * row)
row += 1
第二步:使用循环嵌套打印小星星
附:对print函数的使用做一个增强
默认情况下,print函数输出内容之后,会自动在内容末尾增加换行,如果不希望末尾增加换行,可以在print函数输出内容的后面增加 ,end=""
其中,**“ ”**中间可以指定print函数输出内容之后,继续希望显示的内容
语法格式如下:
#向控制台输出内容结束之后,不会换行
print("*",end="")
#单纯的换行
print("")
end="" 表示向控制台输出内容之后,不会换行
#1>完成5行内容的简单输出
#2>分析每行内部的 * 应该如何处理?
row = 1
while row <= 5:
#每一行要打印的星星就是和当前的行数是一致的
#增加一个小的循环,专门负责当前行中,每一“列”的星星的显示
#1.定义一个列计数器变量
col = 1
#2.开始循环
while col <= row:
# print("%d" % col)
print("*",end="")
col += 1
#print("第 %d 行“ % row)
#这行代码的目的,就是在一行星星输出完成之后,添加换行!
print("")
row += 1
八、九九乘法表
row = 1
while row <= 9:
col = 1
while col <= row:
# print("%d" % col)
print("%d * %d = %d" % (col,row,col*row),end="\t")
col += 1
print("")
row += 1
九、字符串中的转义字符
- \t 在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐
print("1\t2\t3")
print("10\t20\t30")
- /n 在控制台输出一个换行符
print("hello\n python")
- " 可以在控制台输出 ”
print(“hello\”hello")
- 制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本