Hi 大家好,
今天要開始介紹基礎語法中的迴圈篇,那我們開始吧!
Q: 那什麼是迴圈?
A: 其實就是字面上的意思,如果以生活例子來舉例的話,就可以想像成在操場上跑一圈的概念。
Q: 那使用迴圈可以做什麼事情?
A: 我們可以把需要重複執行的事情交給迴圈來做。
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()函數前面要記得縮排
numbers = [1, 2, 3, 4, 5]
for number in numbers:
pass
PS D:\Project\practice> python hello.py
PS D:\Project\practice>
以下範例,會印出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>
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>
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>
那今天就介紹到這裡,我們明天見~