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