循环

循环是最常用的程序块,便利一个序列中的元素;比如统计一个列表List的结果,或者检查一个队里的值,都需要循环;循环有For循环和While循环。

For 循环

Lukas和其他四位小朋友,分别抓到螃蟹2只,3只,5只,7只;请问总共抓到了多少只螃蟹?

'''
Welcome to LearnPython.NET
File Name: PDataType.py
Download from:https://www.learnpython.net/cn/python-code-samples.html
Author: LearnPython.Net
Editor: CoderChiu
'''

#抓到的螃蟹数量;
nCrabNumAry = [2, 3, 5, 7]

#总计螃蟹数量;
nCrabSum = 0#统计总的螃蟹数量;

for Crabs in nCrabNumAry:    
    nCrabSum = nCrabSum + Crabs
    #print("Catch crabs:", nCrabSum)

运行结果:总共抓到了17只螃蟹。

>>> %Run PLoops.py17

循环一般是列表!

While 循环

还是前边的例子,我们 while 循环,则应该是下边这种样子。

#统计螃蟹数量
nLen = len(nCrabNumAry)

#重置为0,开始计数
nCrabSum = 0

#索引;
nIndex =  0

while nIndex < nLen:    
    nCrabSum = nCrabSum + nCrabNumAry[nIndex]    
    nIndex = nIndex + 1
    print("Catch crabs:", nCrabSum)

执行结果如下:总计螃蟹是17只;

>>> %Run PLoops.pyCatch crabs: 17

Break和Continue语句

break 就是跳出当前的循环,不在往下循环了;比如看一看Lucas的小伙伴中,有没有人逮到了3只螃蟹?(只要有一个人逮到了3只螃蟹,就可以了)

#看看有没有捉到了3只螃蟹;
for Crabs in nCrabNumAry:
    if Crabs == 3:
        print("Someone has got 3 crabs.")
        break

当循环到 nCrabNumAry[1] == 3True 的时候,就表示已经得到结果了,有人逮到了3只螃蟹,不需要继续往下,这时候 break 就会跳出 for 循环。

continue 呢,是跳出当前的这一次,继续下一个循环;如果我们要看一下有多少人逮到了3只以上的螃蟹。

#看看捉到了3只螃蟹以上的有几人;
nCrabGuy = 0
for Crabs in nCrabNumAry:
    if Crabs > 3:
        nCrabGuy = nCrabGuy + 1
    else:
        continue

print("%d persons that has got more thans 3 crabs." %(nCrabGuy))

到了这里,普通的for 和 while 循环已经学完了;这种循环效率较低,以后你在NumPy库中会遇到一种更高效的循环方式,矢量化

Last updated