while循环基础步骤:
1.定义变量赋初始值
2.条件判断
3.循环体
4.条件控制
while循环基础格式:
变量名 = 初始值
while 条件判断:
循环体
条件控制
while无限循环:
无限循环: 又叫死循环,恒成立的条件,循环的内容如果不设置条件不会停下来
实现无限循环的方式:
方式1: 正常的while循环,不加条件控制
方式2: while循环条件用两个字面量比较结果是True
方式3(建议): while循环条件直接用True
方式4: while循环条件直接用1
注意: True一般用数字1代表,False只能用数字0代表
特点: 非0即为True
None: 在python代表空的没有意义的
注意: 循环一般要设置条件,满足对应条件跳出循环 使用关键字break
# 需求: 打印'hello python'50次
"""
分析: 重复执行n次考虑用循环
循环条件: 小于50次继续循环
循环内容: 打印'hello python'
结束控制: 从第1次开始每次加1直到第50次完事结束
"""
# 1.定义变量赋初始值
i = 1
# 2.条件判断
while i <= 50:
# 3.循环体
print('hello python', i)
# 4.条件控制
i += 1
# 需求: while循环打印1-100
"""
分析:利用循环中i能够不断自增的特点
设置i初始值1,不断自增到100结束
此时打印i其实就是打印1-100
"""
# 1.定义变量赋初始值
i = 1
# 2.条件判断
while i <= 100:
# 3.循环体
print(i)
# 4.条件控制
i += 1
# 需求: while循环求1-100的和
"""
分析:利用循环中i能够不断自增的特点
设置i初始值1,不断自增到100结束
此时打印i其实就是打印1-100
"""
# 1.定义变量赋初始值
i = 1
# 循环外定义sum变量用于记录每次求和结果
sum = 0
# 2.条件判断
while i <= 100:
# 3.循环体
# 累加求和: sum =0 + 1 + 2 + 3 +...+100
sum += i # sum = sum + i
# 4.条件控制
i += 1
# 循环外使用最终sum结果
print(sum)
"""
无限循环示例
"""
while True:
print('我停不下来了~')
for循环: 又叫遍历循环,需要提前准备好数据集然后从中一个个取出达到循环效果
for循环基础格式:
for 临时变量 in 数据集:
循环体
range函数格式: range(x,y,z)
x: 初始值 注意: 默认是0,如果要是其它数,手动写上
y: 结束值 注意: 不含y本身
z: 步长 注意: 默认是1,如果要是其他数手动写上
for循环进阶格式:
for 临时变量 in range(x,y,z):
循环体
for循环变量作用域: 仅限于当前for循环内部
注意: 变量作用域规范上应该仅限于当前循环内部,但是python中如果外部访问了只会警告,不会报错
"""
需求:
定义字符串变量name,内容为:"abcdabcdabcd"
通过for循环,统计有多少个英文字母:"a"
"""
# 定义字符串
name = "abcdabcdabcd"
# 循环外定义计数器,初始0
count = 0
# 遍历字符串
for x in name:
# 依次拿着每个字符和'a'比较
if x == 'a':
# 循环内满足条件就加1
count += 1
# 循环外使用最终结果
print(f"a字符串出现了{count}次")
# 需求: for循环打印1-5
for i in range(1, 6):
print(i)
# 需求: for循环打印0-5
# 注意: 0可以省略
for i in range(6):
print(i)
# 需求: for循环打印2,4,6,8,10
for i in range(2, 11, 2):
print(i)
3.break和continue
continue: 结束本次循环,继续下一次循环
break: 跳出循环,结束循环
continue和break对while和for循环都适用!
注意: 在嵌套循环中,continue和break只能作用在所在的循环上,无法对上层循环起作用
# continue: 结束本次循环,继续下一次循环
"""
需求: 半夜坐电梯,电梯一共1-20层,
正常每层都停,要求在4,14,18层不停
"""
for i in range(1, 21):
if i == 4 or i == 14 or i == 18:
continue
# 循环体
print(f'{i}层到了~')
# 需求: 假设从18岁正常上班到99岁,要求60岁退休
for i in range(18, 100):
if i == 60:
print(f"终于{i}岁了,可以享受退休生活了...")
# 跳出循环
break
# 循环体
print(f"{i}岁了,正在上班...")