iT邦幫忙

2024 iThome 鐵人賽

DAY 8
1
自我挑戰組

每日挑戰:從零開始的 Python 學習之旅系列 第 8

【Day 8】基礎語法 - 迴圈篇

  • 分享至 

  • xImage
  •  

Hi 大家好,

今天要開始介紹基礎語法中的迴圈篇,那我們開始吧!

Q: 那什麼是迴圈?
A: 其實就是字面上的意思,如果以生活例子來舉例的話,就可以想像成在操場上跑一圈的概念。

Q: 那使用迴圈可以做什麼事情?
A: 我們可以把需要重複執行的事情交給迴圈來做。

在Python中,迴圈主要有兩種表示方式:

1. for 迴圈

 for迴圈的寫法如下:

# hello.py
numbers = [1, 2, 3, 4, 5]

for number in numbers:
    print(number)
PS D:\Project\practice> python hello.py
1
2
3
4
5
PS D:\Project\practice>

numbers : 可以當作是一堆元素集合
number : 可以當作是元素集合中的一個元素
print : 可以把元素列印出來
for..in : 可以依序從一堆元素集合中把每一個元素列印出來

要特別注意的是,在print()函數前面要記得縮排

如果迴圈中的程式區塊,還不知道要寫什麼,可以使用pass關鍵字先卡位

numbers = [1, 2, 3, 4, 5]

for number in numbers:
    pass
PS D:\Project\practice> python hello.py
PS D:\Project\practice> 

使用range()函數產生一串數列/一個數字範圍

以下範例,會印出1到5不包含6的數列

for number in range(1, 6):
    print(number)
PS D:\Project\practice> python hello.py
1
2
3
4
5
PS D:\Project\practice>

甚至可以直接執行range(6),會發生意想不到的結果
會有這樣的結果,是因為range()函數在Python中被定義成lazy,也就是懶惰疊代器
顧名思義就是它很懶惰,疊帶器在實際需要使用它的時候才會生成數據
而這樣的作法主要目的就是,不是一次性的計算並儲存結果,這樣可以節省記憶體空間
特別是在處理大量數據的時候。

>>> range(6)
range(0, 6) <===== lazy
>>> list(range(6))  
[0, 1, 2, 3, 4, 5]
>>>

range(起始位置start停止位置stop移動距離step)函數中可以帶入三個參數

numbers = [1, 2, 3, 4, 5]

for number in range(1, 6, 2):
    print(number)
PS D:\Project\practice> python hello.py
1
3
5
PS D:\Project\practice>

使用enumerate(),可以把串列轉換成帶有數字的組合

names = ["eric", "book", "jacky", "mouse"]

for name in enumerate(names):
    print(name)
PS D:\Project\practice> python hello.py
(0, 'eric')
(1, 'book')
(2, 'jacky')
(3, 'mouse')
PS D:\Project\practice>

2. while 迴圈

 while迴圈的寫法如下:

while 條件判斷:
    做一些事情

如果使用以下這樣的寫法,會不斷的印出Hello World~,類似無窮迴圈的結果
一直到輸入Ctrl + C或是關掉終端機來強制終止,這裡要特別小心使用。

while True:
    print("Hello World~")
PS D:\Project\practice> python hello.py
Hello World~
Hello World~
Hello World~
Hello World~
Hello World~
Hello World~
Hello World~
Hello World~
...
...

要適時的設定條件判斷,讓迴圈可以順利結束

count = 1

while count <= 5:  <==== 脫離迴圈的判斷條件
    print(count)
    count += 1
PS D:\Project\practice> python hello.py
1
2
3
4
5
PS D:\Project\practice>

那今天就介紹到這裡,我們明天見~


上一篇
【Day 7】基礎語法 - 串列和元組篇
下一篇
【Day 9】基礎語法 - 字典篇
系列文
每日挑戰:從零開始的 Python 學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言