四、循环语句

  • whlie语句的基础语法

  1. while循环的语法格式

条件满足时,做的事情1

条件满足时,做的事情2

条件满足时,做的事情3

i = 0
while i<100
    print("重复这句话100遍")
    i += 1
  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循环的基础语法

  1. 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值