python循环综合案例(基础)+发工资

目录

1.案例需求:

2.提示:

3.效果展示:

4.学习目标:

5.写代码:

5.1. 构建变量

5.2. for循环

5.3. 进入循环中

6.整体代码:

7.我写的代码:


1.案例需求:

某公司,账户余额有1w元,给20名员工发工资。

  • 员工编号从1-20,从编号1开始,依次领取工资,每人可领取1000元
  • 领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
  • 如果工资发完了,结束发工资

2.提示:

  • 使用循环对员工一次发放工资
  • continue用于跳过员工,break直接结束发工资
  • 随机数用random

3.效果展示:

4.学习目标:

自我学习做记录。内容来自黑马程序员的Python教程

5.写代码:

5.1. 构建变量

# 定义账户余额
count = 10000

5.2. for循环

for i in range(1,21):

 涉及知识点:

1.程序中的for循环:
    for 临时变量 in 待处理数据集(序列):
        循环满足条件时执行的代码
2.range语句:
 语法1:
    range(num)
    获取一个从0开始,到num结束的数字序列,不含num本身
    如rang(5)取得的数据是:[0,1,2,3,4]
 语法2:
    range(num1,num2)
    获取一个从num1开始,到num2结束的数字序列,不含num2本身
    如rang(5,9)取得的数据是:[5,6,7,8]
 语法2:
    range(num1,num2,step)
    获取一个从num1开始,到num2结束的数字序列,不含num2本身
    数字之间的步长,以step为准(step默认为1)
    如range(5,10,2)取得的数据是:[5,7,9]

5.3. 进入循环中

    # 判断绩效分,首先获取绩效分
    grade = random.randint(1,10)
    # 小于5分的情况
    if grade < 5:
        print(f"员工{i},绩效分{grade},不发工资,下一位")
        # 遇到continue,下面发工资的行为就不存在
        continue
    # 判断余额是否满足
    if count >= 1000:
        count-=1000
        print(f"员工{i},绩效分{grade},发放工资1000元,账户余额还剩{count}")
    else:
        print("工资发完了,剩余员工下个月领取")
        # break结束发放
        break

 涉及知识点:

continue:(临时中断)
    1.中断本次循环,直接进入下一次循环
    2.可以作用于for循环和while循环,效果一致
    3.for i in range(1,100):
        语句1
        continue
        语句2(语句2不会被执行)
    4.只能中断它所在的循环
break:(永久中断)
    1.直接结束循环
    2.可以作用于for循环和while循环,效果一致
    3.只能控制它所在的循环中断

6.整体代码:

import random

# 定义账户余额
count = 10000
# for循环对员工发放工资
for i in range(1,21):
    # 判断绩效分,首先获取绩效分
    grade = random.randint(1,10)
    # 小于5分的情况
    if grade < 5:
        print(f"员工{i},绩效分{grade},不发工资,下一位")
        # 遇到continue,下面发工资的行为就不存在
        continue
    # 判断余额是否满足
    if count >= 1000:
        count-=1000
        print(f"员工{i},绩效分{grade},发放工资1000元,账户余额还剩{count}")
    else:
        print("工资发完了,剩余员工下个月领取")
        # break结束发放
        break

7.我写的代码以及遇到的问题:

import random

count = 10000
for i in range(1,21):
    grade = random.randint(1,10)
    if grade < 5:
        print(f"员工{i},绩效分{grade},不发工资,下一位")
    else:
        count-=1000
        print(f"员工{i},绩效分{grade},发放工资1000元,账户余额还剩{count}")
    if count == 0:
        print("工资发完了,剩余员工下个月领取")
        break

遇到的问题:

最开始我把获取随机数的绩效放在了for循环外面,导致代码一直是同一个绩效分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值