iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 6
0

用if陳述句處理串列

到目前為止我們對每個檢測都做了簡單的假設,那就是串列中至少有一個項目,隨後我們要讓使用者輸入資訊來存放到串列內,因此不能再假設每次迴圈執行時串列不是空的,因此我們在執行for迴圈前檢測串列是否為空的非常重要

  • 檢測串列是否為空

範例如下 :

scores=[] # 建立一個空的scores串列

if scores : # 如果串列裡有東西
    for score in scores : # 將scores串列裡的值一一存取到score變數內
        print(score) # 一一印出score變數的值
    print("completed!!") # 最後印出completed!!
else :
    print("list is empty") # 若串列是空的就跳到else區塊然後印出這行

輸出結果 :

list is empty

因為串列值是空的,所以會直接跳到else區塊,如果不是空的話就會進入if區塊去跑for迴圈

  • 檢測某值是否不在串列中

想要檢測這個值是否不在串列內時,我們可以使用not in關鍵字來協助,當然的如果想檢測這個值是否在串列內時,我們只要使用in關鍵字就好

範例如下 :

letters=["a","c","d"] # 建立一個letters串列
letter="b" # 建立一個letter變數

if letter not in letters : # 判斷letter的值是否不在letters串列裡
    print(letter+"not in list") # 若不在串列內則印出這行

輸出結果 :

b not in list

一些小練習

print默認是印出一行,结尾加換行。end=""的意思是結尾加空格不換行

  • 如何印出九九乘法表

範例如下 :

for i in range(1, 10): # i從1到9
    for j in range(1, 10): # j從1到9
        print(i ,'*', j ,'=' ,i*j," ",end="")  #印出i*j=i*j  
    print("\n") # 換行

輸出結果 :

1 * 1 = 1  1 * 2 = 2  1 * 3 = 3  1 * 4 = 4  1 * 5 = 5  1 * 6 = 6  1 * 7 = 7  1 * 8 = 8  1 * 9 = 9  

2 * 1 = 2  2 * 2 = 4  2 * 3 = 6  2 * 4 = 8  2 * 5 = 10  2 * 6 = 12  2 * 7 = 14  2 * 8 = 16  2 * 9 = 18  

3 * 1 = 3  3 * 2 = 6  3 * 3 = 9  3 * 4 = 12  3 * 5 = 15  3 * 6 = 18  3 * 7 = 21  3 * 8 = 24  3 * 9 = 27  

4 * 1 = 4  4 * 2 = 8  4 * 3 = 12  4 * 4 = 16  4 * 5 = 20  4 * 6 = 24  4 * 7 = 28  4 * 8 = 32  4 * 9 = 36  

5 * 1 = 5  5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25  5 * 6 = 30  5 * 7 = 35  5 * 8 = 40  5 * 9 = 45  

6 * 1 = 6  6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36  6 * 7 = 42  6 * 8 = 48  6 * 9 = 54  

7 * 1 = 7  7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49  7 * 8 = 56  7 * 9 = 63  

8 * 1 = 8  8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64  8 * 9 = 72  

9 * 1 = 9  9 * 2 = 18  9 * 3 = 27  9 * 4 = 36  9 * 5 = 45  9 * 6 = 54  9 * 7 = 63  9 * 8 = 72  9 * 9 = 81 
  • 如何印出星星( * )

範例如下 :

for i in range(1,8,2): # i從1開始到7間隔是2(所以是跑1,3,5,7)
    for j in range(i): # j在i的範圍內(ex:當i=1時,j=1/ i=3時,j=1,2,3/ i=5時,j=1,2,3,4,5)
        print("*",end="") # 印出*
    print() # 換行

輸出結果 :

*
***
*****
*******

附上排版較精美的
HackMD網址 : https://hackmd.io/xBvEqqLDQ_WOwmnGvso1ng

今天結束,各位明天見 !!


資料來源:<<python程式設計的樂趣>>-Eric Matthes著/H&C譯


上一篇
DAY 05 if 陳述句
下一篇
DAY 07 認識字典
系列文
初學者Python的應用實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言