# 一个例子彻底弄懂python中的break和continue语句
案例:要求输入员工的薪资,若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资明细,以及平均薪资。
代码思路:
①第一步,手写输入薪资;
②第二步,利用while循环语句来使用break和continue;
③第三步,if判断条件;
④第四步 ,根据案例要求写相应的功能代码。
# 第一种方法
count = 0
sum = []
sum_salary = 0
while True:
salary = input("请输入员工的薪资:")
if salary.upper() == "Q": # 小写字母转大写
print("录入完成!退出")
break
if float(salary) < 0:
print("请输入大于0的数!!!")
continue
count += 1
sum.append(float(salary))
sum_salary += float(salary)
print(f"员工{count}的薪资为{salary}元")
continue
print(f"员工列表:{sum}")
print(f"员工数:{count}个")
print("平均薪资:%4d元" % (sum_salary / count))
注:一定要记住,代码是从上到下执行的!!!我最开始,一直把结束循环的 “Q”写在了 下面,结果程序一直报错,怎么 也找不到 其他问题,我忽然想到了这个!!一定要注意!!!
结果:
请输入员工的薪资:45
员工1的薪资为45元
请输入员工的薪资:87
员工2的薪资为87元
请输入员工的薪资:34
员工3的薪资为34元
请输入员工的薪资:q
录入完成!退出
员工列表:[45.0, 87.0, 34.0]
员工数:3个
平均薪资: 55元
注:案例源代码如下:
# 第二种方法
empNum = 1
salarySum = 0
salarys = []
while True:
s = input("请输入第{0}位员工的薪资(按 Q 或 q 结束):".format(empNum))
if s.upper() == 'Q':
print("录入完成,退出")
break
if float(s) < 0:
continue
empNum += 1
salarys.append(float(s))
salarySum += float(s)
print("员工数{0}".format(empNum-1))
print("录入薪资:", salarys)
print("平均薪资{0}".format(salarySum/empNum))
结果:
请输入第1位员工的薪资(按 Q 或 q 结束):34
请输入第2位员工的薪资(按 Q 或 q 结束):245
请输入第3位员工的薪资(按 Q 或 q 结束):23
请输入第4位员工的薪资(按 Q 或 q 结束):Q
录入完成,退出
员工数3
录入薪资: [34.0, 245.0, 23.0]
平均薪资75.5
注:实在抱歉,最近状态实在是太差了,我已经在尽力的调整了,加油!