Try   HackMD

Python 第二堂 for迴圈, list串列

for迴圈

C語言大概長這樣

for (... ;...; ..){ }

條件都在()裡面,要執行指令放{}

for i in range(5): print(i)

i 變數自己設
range(數字) 重複做幾次

第一次: i = 0
第二次: i = 1
第三次: i = 2
第四次: i = 3
第五次: i = 4

如果要用for迴圈印 "01234"

range裡面填一個數字,代表要做幾次(做到哪個數字結束)

for a in range(5): print(a, end="")

如果要用for迴圈印 "12345"

range裡面填兩個數字,代表要從哪個數字開始做到哪個數字結束

for a in range(1,6): print(a, end="")

如果要印 "13579"

range裡面填兩個數字,數字分別代表

  1. 要從哪個數字開始
  2. 到哪個數字結束
  3. 每次跳的數字
for a in range(1,10,2): print(a, end="")

每次跳的數字是負數時

印 "10 9 8 7 6 5 4 3 2 1 0 "

for a in range(10,-1,-1): print(a, end = " ")

Example

印 "2,4,6,8,10,100"

for i in range(2, 101, 2): print(i, end=",")

另一種做法:

for i in range(51): #print(2 * i , ",", end = "") print(str(2 * i) + ",", end = "")

list 陣列、串列

陣列裡面可以塞很多項東西,可同時存不同類型(數字、字串)到陣列中

l = [1,3,"ABC",1,"Z"] print(l) # 印出整個串列 print(l[2]) # 印出第三項: ABC" print(l[2], l[4]) # 印出第三項與第五項: ABC"

取出陣列的每個項目 (透過for)

方法一

l = [1,3,"ABC",1,"Z"] # 迭代 for i in l: print(i) # 每一次的i就是依序往下的一個項目。i是項目

方法二

for i in range(len(l)): # i: 0,1,2,3,4。i是數字 print(l[i])

雙迴圈、巢狀迴圈

巢狀迴圈意思是:迴圈裡面還有迴圈

for i in range(3): for j in range(5): print(i, j)

先做最裡面的迴圈(先做j做完在對累進i)

九九乘法表

for i in range(1,10): for j in range(1,10): print(i,"x", j, "=", i*j)

排版,每個數字一列

for i in range(1,10): for j in range(1,10): print(i,"x", j, "=", i*j, end=" ", sep="") print() # 印空白