51_else语句(循环里面的else)

51.else语句 (循环里面的else)

while、for 循环可以附带一个else 语句(可选)如果for、while语句没有被break 语句 结束,则会执行else子句,否则不执行

语法格式如下:

while 条件表达式: 
    循环体 
else: 语句块

或者: 

for 变量 in 可迭代对象: 
    循环体 
else: 
    语句块

【操作】员工一共4 人。录入这4 位员工的薪资。全部录入后,打印提示“您已经全部录 入4名员工的薪资”。最后,打印输出录入的薪资和平均薪资

empNum = 0  # 员工数
salarySum = 0  # 工资和
salarys = []
for i in range(4):
    s = input('请输入员工的薪资(按Q或q结束:')
    if s.upper() == 'Q':
        print('录入完成,退出.')
        break  # 若果break执行,那么else那段就不会执行了.
    if float(s) < 0:
        continue

    empNum += 1  # 员工数
    salarys.append(float(s))
    salarySum += float(s)
else:  # for循环结束之后
    print('已经打印了{0}名员工的工资'.format(empNum))  # 把错误的排除掉了
print('输入的薪资是', salarys)
print('平均工资是:', salarySum/empNum)


# 运行效果
In [1]: empNum = 0  # 员工数
   ...: salarySum = 0  # 工资和
   ...: salarys = []
   ...: for i in range(4):
   ...:     s = input('请输入员工的薪资(按Q或q结束:')
   ...:     if s.upper() == 'Q':
   ...:         print('录入完成,退出.')
   ...:         break  # 若果break执行,那么else那段就不会执行了.
   ...:     if float(s) < 0:
   ...:         continue
   ...:
   ...:     empNum += 1  # 员工数
   ...:     salarys.append(float(s))
   ...:     salarySum += float(s)
   ...: else:  # for循环结束之后
   ...:     print('已经打印了{0}名员工的工资'.format(empNum))  # 把错误的排除掉了
   ...: print('输入的薪资是', salarys)
   ...: print('平均工资是:', salarySum/empNum)
请输入员工的薪资(按Q或q结束:100
请输入员工的薪资(按Q或q结束:200
请输入员工的薪资(按Q或q结束:300
请输入员工的薪资(按Q或q结束:400
已经打印了4名员工的工资
输入的薪资是 [100.0, 200.0, 300.0, 400.0]
平均工资是: 250.0


# 第二次运行
请输入员工的薪资(按Q或q结束:200
请输入员工的薪资(按Q或q结束:Q

录入完成,退出. 
# 因为 break 了  所以 没有输出打印了 几名员工的薪资

输入的薪资是 [200.0]
平均工资是: 200.0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值