外观
3. 循环语句
约 912 字大约 3 分钟
2025-03-28
while 循环的基础语法
i = 0
while i < 100:
print("肚肚,我饿了")
i += 1
while 循环的基础案例
# 获取范围在1-100的随机数字
import random
num = random.randint(1, 100)
# 定义一个变量,记录总共猜测了多少次
count = 0
# 通过一个布尔类型的变量,做循环是否继续的标记
flag = True
while flag:
guess_num = int(input("请输入你猜测的数字:"))
count += 1
if guess_num == num:
print("猜中了")
# 设置为False就是终止循环的条件
flag = False
else:
if guess_num > num:
print("你猜的大了")
else:
print("你猜的小了")
print(f"你总共猜测了{count}次")
while 循环的嵌套应用
i = 1
while i <= 100:
print(f"今天是第{i}天,准备吃饭.....")
# 内层循环的控制变量
j = 1
while j <= 10:
print(f"开始吃第{j}碗饭")
j += 1
print("老板,结账")
i += 1
print(f"坚持到第{i - 1}天,没钱了")
while 循环的嵌套案例
# 定义外层循环的控制变量
i = 1
while i <= 9:
# 定义内层循环的控制变量
j = 1
while j <= i:
# 内层循环的print语句,不要换行,通过\t制表符进行对齐
print(f"{j} * {i} = {j * i}\t", end='')
j += 1
i += 1
print() # print空内容,就是输出一个换行
for 循环的基础语法
基础语法
name = "itheima"
for x in name:
# 将name的内容,挨个取出赋予x临时变量
# 就可以在循环体内对x进行处理
print(x)
range 语句
# range语法1 range(num)
for x in range(10):
print(x)
# range 语法2 range(num1, num2)
for x in range(5, 10):
# 从5开始,到10结束(不包含10本身)的一个数字序列,数字之间间隔是1
print(x)
# range 语法3 range(num1, num2, step)
for x in range(5, 10, 2):
# 从5开始,到10结束(不包含10本身)的一个数字序列,数字之间的间隔是2
print(x)
变量作用域
i = 0
for i in range(5):
print(i)
print(i)
如果在for循环外部访问临时变量:
- 实际上是可以访问到的
- 在编程规范上,是不允许、不建议这么做的
for 循环的嵌套应用
# 通过外层循环控制行数
for i in range(1, 10):
# 通过内层循环控制每一行的数据
for j in range(1, i + 1):
# 在内层循环中输出每一行的内容
print(f"{j} * {i} = {j * i}\t", end='')
# 外层循环可以通过print输出一个回车符
print()
循环中断:break 和 continue
continue
continue 关键字用于:中断本次循环,直接进入下一次循环 continue 可以用于:for 循环和 while 循环,效果一致
break
break 关键字用于:直接结束所在循环 break 可以用于:for 循环和 while 循环,效果一致
示例
# 演示循环中断语句 continuefor i in range(1, 6):
print("语句1")
continue
print("语句2")
# 演示continue的嵌套应用
for i in range(1, 6):
print("语句1")
for j in range(1, 6):
print("语句2")
continue
print("语句3")
print("语句4")
# 演示循环中断语句 breakfor i in range(1, 101):
print("语句1")
break
print("语句2")
print("语句3")
# 演示break的嵌套应用
for i in range(1, 6):
print("语句1")
for j in range(1, 6):
print("语句2")
break
print("语句3")
print("语句4")
综合案例
money = 10000
for i in range(1, 21):
import random
score = random.randint(1, 10)
if score < 5:
print(f"员工{i},绩效分{score},低于5,不发工资,下一位。")
continue
else:
money -= 1000
print(f"向员工{i}发放工资1000元,账户余额还剩{money}元。")
if money == 0:
print("工资发完了,下个月再来。")
break