Python量化交易
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.5 循环

循环分为while循环和for循环。While循环在给定的判断条件为True时执行循环体,否则退出循环体;而for循环仅仅重复执行语句。因此while循环可以与for循环结合使用,此时称作嵌套循环。

在循环中,一般采用if或if…else或if…elif…else语句作为判断条件,也可以使用专门的循环控制语句来更改语句执行的顺序。Python支持的循环控制语句有3种,分别是:

(1)break语句,在语句块执行过程中终止当前循环,并且跳出整个循环;

(2)continue语句,在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环;

(3)pass语句,空语句,是为了保持程序结构的完整性。

for循环和while循环的区别在于:

(1)for循环是在序列穷尽时停止的,while循环是在条件不成立时停止的。

(2)for一般不会出现死循环,而while容易写成死循环。

(3)for循环语句申明循环变量,while循环语句需判断循环条件。

循环的典型操作如下所示。

(1)创建列表,for循环遍历元素。

    # 1.容器:一天中吃几次饭
    eatList=['吃第一次饭','吃第二次饭','吃第三次饭']
    # 循环
    for i in eatList:
    print (i)
    >> 吃第一次饭
    吃第二次饭
    吃第三次饭

(2)遍历字典里的元素,把股票代码全部改成大写。

    # 2.对字典进行循环
    '''
    定义字典:6家公司(GAFATA) 的股票
    key是公司名称,value是公司代码
    '''
    gafataDict={'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌
    ':'GOOGLE','Facebook':'fb','亚马逊':'amzn'}
    # 将股票代码全部改成大写(upper)
    # 注意用key,value
    for key,value in gafataDict.items():
        newValue=value.upper()
        gafataDict[key]=newValue
    print (gafataDict)
    >> {'腾讯': 'HK:00700', '阿里巴巴': 'BABA', '苹果': 'APPLE', '谷歌': 'GOOGLE',
    'Facebook': 'FB', '亚马逊': 'AMZN'}

(3)用continue跳出当前循环。

    # 3.continue用于跳出当前循环
    '''
    定义字典:6家公司(GAFATA) 的股票
    key是公司名称,value是公司代码
    '''
    gafataDict={'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌
    ':'GOOGLE','Facebook':'fb','亚马逊':'amzn'}

    # 注意用key,value
    for key,value in gafataDict.items():
        if key=='苹果':
          continue
    print ('当前公司',key,'当前股票代码:',value)
    >> 当前公司 腾讯 当前股票代码:HK:00700
    当前公司 阿里巴巴 当前股票代码:baba
    当前公司 谷歌 当前股票代码:GOOGLE
    当前公司Facebook当前股票代码:fb
    当前公司 亚马逊 当前股票代码:amzn

(4)用break退出整个循环。

    # 4.break用于退出整个循环
    gafataDict={'腾讯':'HK:00700','阿里巴巴':'baba','苹果':'Apple','谷歌
    ':'GOOGLE','Facebook':'fb','亚马逊':'amzn'}

    # 注意用key,value
    for key,value in gafataDict.items():
        if key=='苹果':
          print ('当前公司: ',key,'当前股票代码:',value)
          break
    print ('现在公司',key,'其股票代码:',value)
    >> 现在公司 腾讯 其股票代码:HK:00700
    现在公司 阿里巴巴 其股票代码:baba
    当前公司 苹果 当前股票代码:Apple