029 break_continue关键字与zip函数

break_continue关键字

break 语句

break 语句可用于 while 和for 循环,用来结束整个循环。当有嵌套循环时,break 语句只能跳出最近一层的循环。

操作】使用 break 语句结束循环

while True:
    str = input("请输入一个字符串:")
    if (str.lower() == "quit"):
        print("结束循环,退出")
        break;
    else:
        print(str)

continue 语句

continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最近的一层循环。

操作】要求输入员工的薪资,若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资明细,以及平均薪资

'''要求输入员工的薪资,若薪资小于 0 则重新输入。
最后打印出录入员工的数量和薪资明细,以及平均薪资'''

count = 0 #统计员工的数量
sum=0 #统计总的薪资
salarys=[]  #存放薪资明细

while True:
    salary=input("请输入员工的薪资:(如果是quit,则退出)")
    if salary.lower()=="quit":
        break;
    else:
        if int(salary)<0:
            continue
        sum = sum+int(salary)
        salarys.append(salary)
        count+=1
print("薪资明细为{0}".format(salarys))
print("录入员工数量为{0},总薪资为{1},平均每个人薪资为{2}".format(count,sum,sum/count)) 

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

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

或者:

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

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

sum = 0
salarys=[]
for i in range(4):
    salary=input("请输入员工的薪资:(quit结束)")
    if salary.lower()=="quit":
        break
    sum=sum+float(salary)
    salarys.append(salary)
    i+=1
else:
    print("您已经全部录 入 4 名员工的薪资")
print("四位员工的薪资为:{0}".format(salarys))
print("四位员工的总薪资为{0},平均薪资为{1}".format(sum,sum/4))


Zip()函数

使用 zip()并行迭代
通过 zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完”时就会停止。

操作】测试 zip()并行迭代

name = ("Tom","Bob","BoBo","Helon")
age = (15,16,18,20)
sex = ("male","female","male","female")

for x,y,z in zip(name,age,sex):
    print("{0} is a {1} who is {2} years old ".format(x,y,z))

补充:

zip()函数是python代码中非常常用的一个操作。
其以可迭代对象为输入参数,将可迭代对象里元素分别取出再组合成一个个元组,返回一个列表。

分为两种情况:

一、输入参数只有一个可迭代对象

m = [5,6,7,8,9]
n = zip(m)
print("zip对象转化为列表:",list(n))

二、输入参数有两个可迭代对象:这里又可以分成两种情况,长度相等和长度不相等。长度相等时,分别取出各自迭代对象中对应位置的元素,组合成新的元组,并返回一个list。如果长度不等,以其中最短的长度作为参照,在执行长度相等的操作。

x=[[1,1,1],[2,2,2],[3,3,3]]
y=[[4,4,4],[5,5,5],[6,6,6]]
z=[[7,7,7],[8,8,8]]
m=zip(x,y)
print("zip对象转换为列表:",list(m))
n=zip(x,z)
print("zip对象转换为列表:",list(n))

在压缩结果前面加*可以解压缩:

x=[[1,1,1],[2,2,2],[3,3,3]]
y=[[4,4,4],[5,5,5],[6,6,6]]
z=[[7,7,7],[8,8,8]]
m=zip(x,y)
print("zip对象解压缩为:",*m)

注意:解压缩后是元组而不是列表

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲小憨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值