whlie语句的基础语法
while循环的语法格式
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
i = 0
while i<100
print("重复这句话100遍")
i += 1
while循环的注意事项
条件需提供布尔类型结果,True继续 ,False停止
空格缩进不能忘
请规划好循环终止条件,否则将无限循环
while循环的基础案例
设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
无限次机会,直到猜中为止
每一次猜不中,会提示大了或小了
猜完数字后,提示猜了几次
#获取范围在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循环的嵌套应用
"""
演示while循环的嵌套使用
"""
#外层:学习100天的控制
#内层:每天学10小时的控制
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循环的嵌套案例
"""
while的嵌套循环
打印输出九九乘法表
"""
#定义外层循环的控制变量
i = 1
while i <= 9:
#定义内层循环的控制变量
j = 1
while j <= i:
#内层循环的print语句,使用end=''不进行换行,通过\t制表符进行对齐
print(f"{j} * {i} = {j * i}\t",end='')
j += 1
i += 1
print() #print空内容,即输出一个换行
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
for循环的基础语法
for循环的语法格式:
for临时变量 in 待处理数据集 (序列)
循环满足条件时执行的代码
2.for循环的注意点
无法定义循环条件,只能被动取出
数据处理要注意,循环内的语句,需要有空格缩进
"""
统计如下字符串中,有多少个字母a
"""
name = "Good mooning,dear classmates"
#定义一个变量,用来统计有多少个a
count = 0
# for 循环统计
# for 临时变量 in 被统计的数据:
for x in name:
if x == "a":
count += 1
print(f"被统计的字符串中有{count}个a")
for循环的嵌套应用
"""
嵌套应用for循环
"""
#坚持学习100天,每天做10道题
#range
i = 0
for i in range(1 , 101):
print(f"今天是学习第{i}天,继续努力")
#内层循环
for j in range(1, 10):
print(f"今天已完成{j}道题")
print("今天任务已完成")
print(f"第{i}天,学习完成,迎接考试")
"""
for循环利用range打印九九乘法表
"""
# 通过外层循环控制行数
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
1.continue的作用是:
中断所在循环的当次执行,直接进入下一次
2.break的作用是:
直接结束所在的循环
3.注意事项
continue和break,在for和while循环中作用一致
在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用
综合案例
某公司,账户余额有1W元,给20名员工发工资
员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元
领工资时,财务判断员工的绩效分(1-10) (随机生成),如果低于5,不发工资,换下一位
如果工资发完了,结束发工资
"""
循环综合案例
"""
#定义账户余额变量
money = 10000
# for循环对员工发放工资
for i in range(1, 21):
import random
score = random.randint(1, 10)
if score < 5:
print(f"员工{i}绩效分{score},不满足,不发工资,下一位")
# continue跳过发放
continue
#要判断余额足不足
if money >= 1000:
money -= 1000
print(f"员工{i},满足条件发放工资1000,公司账户余额:{money}")
else:
print(f"余额不足,当前余额:{money}元,不足以发放工资")
# break结束发放
break