python王者归来—学习笔记(9)

继续第七章循环语句(while循环、pass、enumerate对象循环解析)

一、while循环会一直执行直到条件运算为False才会离开循环,所以设计while循环时一定要设计一个条件可以离开循环,相当于让循环结束。一般while循环常应用在不知道循环何时可以结束的状况,for循环在使用时是早已经知道循环即将执行的次数。它的语法格式如下:

while 条件判断
    程序代码区块
msg1 = '人机对话,我会重复你输入的对话'
msg2 = '输入q可以结束对话'
msg = msg1 + '\n' + msg2 + '\n' + '='
input_msg = ''
while input_msg != 'q':
    input_msg = input(msg)
    if input_msg != 'q':
        print(input_msg)

while循环也允许嵌套循环,和for循环一样,也要注意缩进:

#使用while循环打印九九乘法表
i = 1
while i <= 9:
    j = 1
    while j<=i:
        print("%d*%d=%-3d" % (i, j, i*j), end="") # %-3d表示左对齐占3个字符位,不换行输出
        j += 1
    print()  #换行输出
    i += 1

和for循环一样,while循环同样可以包含break或者continue关键字,含义和之前介绍的相同,break代表跳出while循环,continue代表跳过本次循环,继续下一次循环

msg1 = '人机对话,我会重复你输入的对话'
msg2 = '输入q可以结束对话'
msg = msg1 + '\n' + msg2 + '\n' + '='
while True:
    input_msg = input(msg)
    if input_msg == 'q':
        break
    else:
        print(input_msg)
#列出1-10之间的偶数
n = 0
while n <= 10:
    n += 1
    if n % 2 == 1:
        continue
    print(n)

while循环的条件表达式也可与对象(列表、元组或字典)配合使用:

buyers = [['james', 1030],['curry', 893],
          ['durant', 2050],['jordan', 990],
          ['david', 2110]]
goldbuyers = []
vipbuyers = []

while buyers:                      #只要列表不为空,就会一直循环执行
    buyer = buyers.pop()
    if buyer[1] >= 1000:           #购买金额在1000以上为vip买家
        vipbuyers.append(buyer)
    else:
        goldbuyers.append(buyer)

print("VIP 买家资料", vipbuyers)
print("Gold买家资料", goldbuyers)

二、pass关键字代表什么事也不做,相当于一个空语句。pass有时候会用在设计一个循环或函数尚未完成时,先放pass,未来再用完整程序代码取代

nums = [1, 2, 3]
for num in nums:
    pass

三、enumerate( )方法可以将iterable类数值的元素用计数值与元素配对方式传回,返回的数据称enumerate对象。其中iterable类数值可以是列表(list)、元组(tuple)、集合(set)等。它的语法格式如下:obj = enumerate(iterable[, start = 0])。未来我们可以使用list( )将enumerate对象转成列表,使用tuple( )将enumerate对象转成元组。

drinks = ['coffee', 'tea', 'wine']
enum_drinks = enumerate(drinks)  #获取enumerate对象,起始值默认是0
print(enum_drinks)               #直接打印该对象,输出是其内存地址
print(type(enum_drinks))         #输出该对象类型

print()
print("转成列表输出,初始值是0: ", list(enum_drinks))  #列表形式输出配对值
enum_drinks = enumerate(drinks, start = 10)
print("转成列表输出,初始值是10: ", list(enum_drinks)) #列表形式输出配对值

enum_drinks = enumerate(drinks)
print("转成元组输出,初始值是0: ", tuple(enum_drinks))  #列表形式输出配对值
enum_drinks = enumerate(drinks, start = 10)
print("转成元组输出,初始值是10: ", tuple(enum_drinks)) #列表形式输出配对值

print()
#for循环解析enumerate对象
for drink in enumerate(drinks):   #enumerate对象内部实际是一个元组
    print(drink)   
#由于enumerate对象是配对存在,可以用2个变量遍历这个对象    
for count, drink in enumerate(drinks):
    print(count, drink)

print()
for drink in enumerate(drinks, 10):
    print(drink)       
for count, drink in enumerate(drinks, 10):
    print(count, drink)
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值