Python基础知识学习记录 2021——1019(循环结构(下))

061

continue 语句

continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最近的一层循环。
【操作】要求输入员工的薪资,若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资明细,以及平均薪资

empNum = 0      #员工数
salarySum = 0   #工资总额
salarys = []    #存储工资函数的数组

while True:
    s = input("请输入员工薪资(按Q或q结束进行统计)")

    if s.upper() == "Q":    #如果输入值的大写表达式为Q时候(包含q和Q)
        print("输入完成,进行统计")
        break
    if float(s)<0:
        continue
    empNum += 1
    salarys.append(float(s))	#工资数组中存入工资数额
    salarySum += float(s)

print("员工数{0}".format(empNum))
print("录入薪资:",salarys)
print("平均薪资{0}".format(salarySum/empNum))

062

循环中的else语句

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

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

或者:
for 变量 in 可迭代对象:
循环体
else:
语句块
【操作】员工一共 4 人。录入这 4 位员工的薪资。全部录入后,打印提示“您已经全部录入 4 名员工的薪资”。最后,打印输出录入的薪资和平均薪

salarySum= 0
salarys = []
for i in range(4):
    s = input("请输入一共 4 名员工的薪资(按 Q 或 q 中途结束)")
    if s.upper()=='Q':
        print("录入完成,退出")
        break
    if float(s)<0:
        continue
    salarys.append(float(s))
    salarySum += float(s)
else:
    print("您已经全部录入 4 名员工的薪资")   #完整完成上一步四次循环则执行else语句
print("录入薪资:",salarys)
print("平均薪资{0}".format(salarySum/4))

063

循环代码的优化

虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题上“斤斤计较”。编写循环时,遵守下面三个原则可以大大提高运行效率,避免不必要的低效计算:

  1. 尽量减少循环内部不必要的计算
  2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
  3. 局部变量查询较快,尽量使用局部变量

其他优化手段

  1. 连接多个字符串,使用 join()而不使用+
  2. 列表进行元素插入和删除,尽量在列表尾部操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值