emp_num = 0
salary_sum = 0
salary_list = []
while True:
salary = input("请输入员工薪资:").strip('')
try:
salary = float(salary)
if salary > 0:
emp_num += 1
salary_list.append(salary)
salary_sum += salary
else:
print("输入薪资必须大于0,请重新录入!")
except ValueError as e:
if salary.upper() == "Q":
print("退出录入系统!")
try:
print("平均薪资是:", salary_sum / emp_num)
print("录入员工数量是:", emp_num)
print("薪资明细是:", salary_list)
print("总发薪资是:", salary_sum)
break
except ZeroDivisionError as e:
print("温馨提示:已退出录入系统,但您还未录入员工薪资!")
break
else:
print("输入字符无效,请重新录入!")
👆代码
photo.jpg
👆需求和整理的流程图。
吴.PNG
👆吴写的代码。
董.png
👆后半部分,在吴的基础上优化了一点点。
比较后面代码.jpg
【小结】
while True
输入-判断,不只一次,要多次所以循环
break continue
不能一直循环下去,
根据情况可能要跳出循环break
或者重新循环continue
比如按Q要退出循环
输入错误要重新输入
If else 条件分支
输入数据大于0吗
字符串大写是Q吗
try except
转型报错处理
除数为0报错处理
try里可以有条件分支if else
except里也可以有条件分支if else