1.while循环语句
1.1基础步骤
1.定义一个变量并赋初始值
2.while条件判断
3.循环体
4.条件控制
1.2基本格式
变量名 = 初始值
while 条件判断:
循环体
条件控制
1.3示例
1.3.1打印1-100
# 需求: while循环打印1-100
"""
分析:利用循环中i能够不断自增的特点
设置i初始值1,不断自增到100结束
此时打印i其实就是打印1-100
"""
# 1.定义变量赋初始值
i = 1
# 2.条件判断
while i <= 100:
# 3.循环体
print(i)
# 4.条件控制
i += 1
1.3.2九九乘法表
# 九九乘法表
# 外层循环控制行数
# 1.外层循环初始变量b
b = 1
# 2.外层循环条件判断
while b <= 9:
# 3.整个内层循环都是外层循环的循环体
a = 1
while a <= b:
print(f'{a}*{b}={a * b}', end='\t')
a += 1
# 每行内容打印完进行换行操作
print()
# 4.外层循环条件控制
b += 1
1.4while无限循环
1.4.1含义
无限循环又称死循环,恒成立的条件下,循环的内容如果不设置条件不会停下来.
1.4.2实现无限循环的方式
方式1: 正常的while循环,不加条件控制
方式2: while循环条件用两个字面量比较结果是True
方式3(建议): while循环条件直接用True
方式4: while循环条件直接用1
注意: True一般用数字1代表,False只能用数字0代表
1.4.3特点
非0即为True
None: 在python代表空的没有意义的
1.4.4示例(无限循环猜数字游戏)
"""
需求: 编写猜数字(1-100)游戏的小程序,
要求只要猜不对就继续猜,直到猜中为止
并且需要统计猜中及之前一共猜了多少次
"""
# 1.random随机生成底数
import random
num = random.randint(1, 100)
print(num)
# 5.1循环外定义计数器,初始值0
count = 0
# 4.1无限循环(猜中为止,统计次数)
while True:
# 循环体
# 2.input获取用户猜的数
guess = int(input('请您输入猜的数(范围1-100):'))
# 5.2每猜一次,计数器统计一次
count += 1
# 3.上述两个数比较给出提示(猜中,大,小)
if 1 <= guess <= 100:
if guess == num:
print('恭喜,猜中了!')
# 4.2跳出循环
break
elif guess > num:
print('猜大了!')
else:
print('猜小了!')
else:
print('输入有误!!!')
# 5.3循环外使用最终次数
print(f'您一共猜了{count}次,猜中了')
2.for循环语句
2.1含义
遍历循环,一种从提前准备好的数据集中,逐一取出内容的循环.
2.2for循环基本格式
for 临时变量 in 数据集:
循环体
注意:在python中,临时变量在循环外访问会出现警告,但不会报错.
2.3range函数的格式
range函数格式: range(x,y,z)
x: 初始值 注意: 默认是0,如果要是其他数手动写上
y: 结束值 注意: 不含y本身
z: 步长 注意: 默认是1,如果要是其他数手动写上
2.4for循环进阶格式
for 临时变量 in range(x,y,z):
循环体
2.5示例(九九乘法表)
# 外层循环变量i控制行数
for i in range(1, 10):
# 整个内层循环都是外层循环的循环体
for j in range(1, i + 1):
# 注意: 同一行内容无需换行,使用\t加缩进即可
print(f"{j}*{i}={j * i}", end="\t")
# 每行内容打印完换行操作
print() # 默认有end='\n'
3.break和continue的使用
break:打断循环,终止循环
continue:跳过本次,继续下一次循环
示例:
# break: 跳出循环,结束循环
# 需求: 假设从18岁正常上班到65岁,要求60岁退休
for i in range(18, 66):
if i == 60:
print(f"终于{i}岁了,可以享受退休生活了...")
# 跳出循环
break
# 循环体
print(f"{i}岁了,正在上班...")
# 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}层到了~')