【python系统学习08】for循环知识点合集 (2)

最后,尝尝人类复读机的力量吧

rangeValue2 = 5 for index in range(rangeValue2): print(''' 病毒消失,病人痊愈。武汉加油,天佑中华! ''') # 病毒消失,病人痊愈。武汉加油,天佑中华! # 病毒消失,病人痊愈。武汉加油,天佑中华! # 病毒消失,病人痊愈。武汉加油,天佑中华! # 病毒消失,病人痊愈。武汉加油,天佑中华! # 病毒消失,病人痊愈。武汉加油,天佑中华! # 病毒消失,病人痊愈。武汉加油,天佑中华! 迭代列表时获取索引

我们通过上边迭代列表和字典的代码中可以看出来,for后边的变量在迭代列表的时候是列表内的元素、迭代字典的时候则是字典里边的键名。

那么如果我想迭代字典时,有个变量存放列表中各项所对应的偏移量(索引)呢?

通过range函数的搭配,我们不仅可以迭代整数,还能迭代列表的索引。

于是我就试了下边的写法,但是他报错了。

# 迭代时传两个参数会报错: nameList = ['小石头', 'xing.org1^', '郭菊锋'] for name,index in nameList: # ValueError: too many values to unpack (expected 2) print(index)

错误内容ValueError: too many values to unpack (expected 2)。表示了这里不应该有两个参数。

那么我们想用索引来携带列表时该怎么写呢?
一开始我给自己写了一个bug:

nameList = ['小石头', 'xing.org1^', '郭菊锋'] for index in range(nameList): # TypeError: 'list' object cannot be interpreted as an integer print(index)

range内部只能接受整数。而列表转化不成整数,出点类型错误。

改正后,写法如下:

nameList = ['小石头', 'xing.org1^', '郭菊锋'] for index in range(len(nameList)): print(index) # 三次循环分别打印0、1、2

思路是:先用len获取列表的长度,然后将计算的长度这个数字,放到range内部。

continue 跳过本次循环

continue跳过本次循环,for循环跳过后继续执行下一次循环。

for i in range(5): if(i == 3): continue else: print('continue跳过循环', i) else: print('有continue的for循环的else') # 打印结果如下: # continue跳过循环 0 # continue跳过循环 1 # continue跳过循环 2 # continue跳过循环 4 # 有continue的for循环的else

可以看打印结果得知,在满足i==3的条件之后,直接跳出了当次的循环没有打印3这个数字。而是进入到下次循环,打印出4后,循环完毕。

然后执行了for后边的else语句。

break 跳出循环

break跳出循环,for循环不管是否完成将直接结束。甚至for后边的else都不会再执行。

for i in range(5): if(i == 3): break else: print('break跳过循环', i) else: print('有break的for循环的else') # 打印结果如下: # break跳过循环 0 # break跳过循环 1 # break跳过循环 2

可以看打印结果得知,在满足i==3的条件之后,直接跳出了循环。

for循环后边的else都没执行。所以只打印了0、1、2。

思考题 创建一个从1到100的整数列表

用for循环打印1-100

九九乘法表

用for循环打印一个九九乘法表。就是小学时候我们铅笔盒盖子内部上印刷的那种,表格形式的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzjyw.html