iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 12
1
AI & Data

30天 python 學習心得分享系列 第 12

Day12- 流程控制2

  • 分享至 

  • twitterImage
  •  

說到了迴圈,在python裏還有一種資料型別range可以建立一定範圍中的整數,要列出range的值需使用迴圈打印所以暸解for迴圈的基本運作後,我們就來使用這好用的型別吧!


Range

range需注意的是與tuple一樣建立後無法變更range的值

  • 宣告方式
    Range(start, stop, step)可放置三個參數分別為起始、停止、間隔,使用方式如下例:
a = range(10)
b = range(1,6)
c = range(0,100,10)
for x in a:
    print(str(x) + '、' , end='')
print('----------')
for x in b:
    print(str(x) + '、' , end='')
print('----------')
for x in c:
    print(str(x) + '、' , end='')
    
#輸出:0、1、2、3、4、5、6、7、8、9、----------
#輸出:1、2、3、4、5、----------
#輸出:0、10、20、30、40、50、60、70、80、90、
  • 使用重點
    • 未提供起始點默認從0開始
    • 未給予間隔值默認為1
    • range的範圍包含起始不包含停止

For 解析 dict

上篇文章我們使用for處理list型態,今天來利用for迴圈處理dict型態資料,要同時處理dict的key及value 須先將其使用item()函數轉換為dict_items型態,如下範例:

a = {'鴻海': 76.2, '大立光': 3210.0, '台積電': 221.0}

for key, value in a.items():
    print('股票:{} 股價:{}'.format(key, value))
#輸出:
#股票:鴻海 股價:76.2
#股票:大立光 股價:3210.0
#股票:台積電 股價:221.0

*函式小技巧:使用print()內可使用{}搭配format()函數使輸出格式較為整齊

break及continue

在使用回圈時,我們有時會希望達成某一條件後離開迴圈不執行後續的敘述或單次迴圈不執行,這時我們就需要使用breakcontinue指令來達成.

  • continue(略過繼續)
a = {'大立光': 3210.0, '鴻海': 76.2, '台積電': 221.0}

for key, value in a.items():
    #跳過股價大於1000
    print('股票:{}'.format(key))
    if(value > 1000):
        continue    
    print('股票:{} 價隔小於1000'.format(key))

#輸出:
#股票:大立光
#股票:鴻海
#股票:鴻海 價隔小於1000
#股票:台積電
#股票:台積電 價隔小於1000

由上例可看出使用continue程式會將迴圈次數跑完,只是當條件達到時continue後即結束當次迴圈不執行後續的操作動作.

  • break(停止)
a = {'大立光': 3210.0, '鴻海': 76.2, '台積電': 221.0}

for key, value in a.items():
    #只找出第一張小於100的股票,找到即停止
    if(value < 100):
        print('股票:{} 股價:{}'.format(key, value))
        break        
    print('股票:{} 價隔小於100'.format(key))

#輸出:
#股票:大立光 價隔大於1000
#股票:鴻海 股價:76.2

使用break會使迴圈執行碰到break即結束迴圈行為,上例中迴圈僅執行2次就結束了.

如果想知道迴圈執行次數可搭配內建函數enumerate()使用,使用方法如下:

a = {'大立光': 3210.0, '鴻海': 76.2, '台積電': 221.0}

for i, (key, value) in enumerate(a.items()):
    print('索引{},key={}, 值={}'.format(i, key, value))

#輸出:
#索引0,key=大立光, 值=3210.0
#索引1,key=鴻海, 值=76.2
#索引2,key=台積電, 值=221.0

以上就是迴圈的學習內容,下一篇我們將學習如何使用python處理例外狀況.
文章內容如果有錯誤歡迎留言告知,可以幫忙糾正錯誤的觀念,感謝!


上一篇
Day11- 流程控制1
下一篇
Day13-例外處理及函式引入
系列文
30天 python 學習心得分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言