利用for循环和continue、break等关键字编写一个发放工资的程序。
要求:给1~20名员工发放工资,依次发放。随机生成员工的绩效分,绩效范围是1~10,绩效低于5不发工资,大于等于5发放1万元。公司账户余额10万元,如果发完了,结束发工资。
代码讲解
# 导入random模块,用于生成随机绩效分(模块只需导入一次,放在代码开头)importrandom# 定义变量time并初始化为0,统计成功发放工资的员工次数time=0# 定义公司初始账户余额为100000元money=100000# 构建for循环,i代表员工编号,range(1,21)生成1-20的整数,对应20名员工foriinrange(1,21):# 为当前员工生成1-10的随机整数,作为绩效分num=random.randint(1,10)# 格式化输出当前员工的编号和绩效分print(f"员工{i}的绩效是{num}分")# 判断绩效分是否低于5,如果是则执行下方缩进的代码ifnum<5:# 输出“不发工资”的提示print("不发工资")# 跳过本次循环后续代码,直接进入下一次循环(下一名员工)continue# 绩效分≥5时,执行工资发放逻辑,先输出发放提示print("发放10000元")# 成功发放次数加1time+=1# 计算发放后公司账户的剩余余额money=money-10000# 输出当前账户剩余余额print(f"当前账户剩余余额:{money}元")# 判断账户余额是否为0,如果是则执行下方缩进的代码ifmoney==0:# 输出余额为0的提示print("账户余额已用完,结束发工资")# 强制终止整个循环,不再为后续员工发放工资break# 循环结束后,输出最终的发放统计信息print(f"本次共为{time}名员工发放工资,剩余余额{money}元")