iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
1
自我挑戰組

從python入門到物聯網系列 第 8

Day08 - For迴圈

  • 分享至 

  • xImage
  •  

For 迴圈

執行相同的動作,可以藉著for迴圈達到目的,通常與list一起使用,
在給定的某個條件下,可以重複做某些動作。

以下為For迴圈的語法:
設定一個變數在某個range下重複執行內的動作

for 變數 in range(star, end, 遞增值)    

跑出 0-9

for i in range(0,10): # 通常+1遞增,就不用寫
    print(i)  

結果

0
1
2
3
4
5
6
7
8
9

範例:從0加到9

sum = 0
for i in range(0,10):
    sum += i
print(sum)

答案為

45

for 可以將str一個字母一個字母印出

string = 'Hello World!'

for x in string:
    print(x)

昨天我們提到 list
list 通常與 for 搭配使用
範例:

animals = ['bear', 'bird', 'cat', 'dog', 'elephant', 'fox']

for animal in animals:
    print(animal)

animal in animals => animal 是在 animals 這個List裡面拿資料

昨天我們也有提到 dict
dict 也可以和 for 搭配使用
拿出fruitskey

fruits = {"apple":10, "banana":7, "orange":8}

for x in fruits:
    print(x)

結果:

apple
banana
orange

取出key對應的值value

fruits = {"apple":10, "banana":7, "orange":8}

for x in fruits:
    print(fruits[x])

結果:

10
7
8

取出 key,value 組合

fruits = {"apple":10, "banana":7, "orange":8}

for x in fruits:
    print(x, fruits[x])

結果

apple 10
banana 7
orange 8

Try 九九乘法表

for i in range(1,10):
    print(str(i) + '開始囉~~~')
    for j in range(1,10):
        print(str(i) + '*' + str(j) + '=' +  str(i * j))
    print('-------------------')

結果

1開始囉~~~
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開始囉~~~
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開始囉~~~
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開始囉~~~
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開始囉~~~
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開始囉~~~
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開始囉~~~
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開始囉~~~
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開始囉~~~
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,10):
    print(str(i) + ':' , end=' ') #end=' ' 這樣就不會換行囉~
    for j in range(1,10):
        print("{:3} ".format(i*j), end=' ') #end=' ' 這樣就不會換行囉~
    print() #換行

結果: 變成很漂亮的9X9了

1:   1    2    3    4    5    6    7    8    9
2:   2    4    6    8   10   12   14   16   18
3:   3    6    9   12   15   18   21   24   27
4:   4    8   12   16   20   24   28   32   36
5:   5   10   15   20   25   30   35   40   45
6:   6   12   18   24   30   36   42   48   54
7:   7   14   21   28   35   42   49   56   63
8:   8   16   24   32   40   48   56   64   72
9:   9   18   27   36   45   54   63   72   81

明天來講while 迴圈


上一篇
Day07 - List、tuple、dict、set
下一篇
Day09 - While迴圈
系列文
從python入門到物聯網30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
天羽十月
iT邦新手 5 級 ‧ 2021-07-17 09:06:48

您好,我看不懂print裡面的"{:3} ",麻煩能解說一下嗎,謝謝

我要留言

立即登入留言