點擊愛心追蹤,獲取每周免費文章

figure-1



你是否曾經有不斷做同樣一件事的經驗,像是改全班考卷作業、幫公文蓋印章、寫錯字罰寫100遍等(誤),

 明明每一遍要做的內容都一模一樣,但仍然只能如機器人般重複著相同的動作,虛度光陰; 

幸運的是,在程式的世界中,「迴圈」能夠協助我們完成大量重複的步驟,讓我們的工作更加地有效率。 

那現在就讓我們一起來看看迴圈是如何幫我們解決問題的吧。

figure-1


迴圈是什麼呢?

簡單說就是叫程式幫你不斷做你所指定的動作,例如:請程式幫忙蒐集每一家公司的收盤價格, 

我們只要跟程式說要如何蒐集一家公司的收盤價,剩下他的就能夠如法炮製的幫你全部做完,是不是很方便呢? 

而python中的迴圈最常用的就是for迴圈的形式,以下是一個基礎的迴圈範例。

figure-2


上面這段程式碼主要可以拆成兩個部分,第一個是設定迴圈停止的條件,另一個是要重複執行的動作。

 以上圖的例子來說,就是讓python從0開始數10個數字,數到9為止(此時i=9就是迴圈停止的條件),

而i會記錄目前數到哪,每數一個數字就執行下面我們給他的程式碼,

 將這段程式碼執行的話,那麼python就會印出從0到9的10個數字,


實際上,for迴圈在做的事情就等於下圖:

figure-3


那麼,python只能從0開始嗎?每一次只能+1嗎?答案是都可以自行調整!

先讓我們來介紹一下range函數吧

figure-2


range函數總共有上面三種使用方法,第一種只告訴他要重複幾次,他就會從0開始往後數到你告訴他的前一個數字;

第二種是告訴他從多少開始數還有到哪結束,一樣她會數到你規定的前一個數字;

第三種則是再多加一個每次加多少,如例子中,他就會每次往後+2,大家可以依據自己需求做使用:

figure-4


那迴圈裡的東西一定只能放range嗎?答案是也可以自己定義要數的東西,例如list形式:

figure-5


在要重複執行的動作中也可以配合python數的東西來做配合,例如:從50加到100

figure-6


眼尖的朋友們有沒有發現到,上面那張圖中,在for的後面一行前有一段空格呢?

那個空格可並不是我單純為了排版或美觀而留白的,而是Python語法中另一個很重要的概念 :  縮排。

縮排在Python中是一個很重要的格式,它的功用主要是要告訴程式語言這一段的始末。

以for迴圈為例,縮排在for迴圈的功用就是告訴程式語言我迴圈內部要做的事情是從哪裡開始,且到哪裡結束。

大家不妨去一開始print的幾個例子去看一下,

在比較前面幾個例子中,在for這行之後我只縮排了print(i) 這行,

因此迴圈在執行的過程就會每更新一次i,就位我們印出一次i的值。

然而,在從50加到100的例子中,我只有讓sum_answer縮排,print()反而沒有,

也因此每次在i更新時,Python只會幫我計算sum_answer的結果,並不會在過程中為我印出來,

一直到迴圈結束,所有的i都輪過後,才在最後印出最終結果來。


如果我們想要看到sum_answer在每次i更換時的加總結果,我們可以將程式碼改寫為 : 

figure-3


我將print也進行縮排,並將"現在是第幾輪"與累加的結果同時打進print裡面,

Python會在每輪結束後即幫我印出結果,此時就可以清楚的看出迴圈內每一輪的累加過程與結果囉!


那................

有在認真看文章朋友們,有沒有再次注意到此次我在程式碼內又埋下另一個伏筆呢?

沒錯!!!! 好吧應該沒有人看到.....

我在此次偷偷把i改了一個比較俏皮的名字了,叫做this_run_add_me_pls。

在for迴圈裡,我們不一定要叫迴圈在計次的變數為i,可以更改承任意想要的名字。

有的時候在和他人共寫程式碼時,股宅我會將某些變數命名為一些俏皮有的名稱,

好為枯燥乏味的程式工作增添點互動性,但通常都是換來同事的白眼哈哈......


本此的迴圈教學到這邊就告一段落了,再次感謝大家本週的觀賞。

如果喜歡我們的教學文,還請大家可以推廣給週邊有想要學習程式的朋友。

另外,本週的進階教學文將開始教大家最基礎的股價爬蟲了,

更為進階的迴圈用法也會公布在未來的進階教學文裡,

對此有興趣的朋友不妨支持一下我們的作品,訂閱我們。


最後,程式語言光看不練可是不會進步的~

因此本週為大家留個作業吧,

請有空的朋友幫我用迴圈算出從1連乘到10的結果,

並將程式截圖傳到PressPlay平台或臉書粉專(A.I股宅 - 學程式玩投資)的訊息,

覺得這道題目太簡單的朋友還可以挑戰費式數列喔~



必學的程式語言

一個月四篇免費基礎教學figure-7

總的來說 Python 是個簡單易學的程式語言,可做到的功能卻十分豐富,非常適合作為程式初學者學習的第一種程式語言,並且 Python 強大的資料處理分析能力及人工智慧支援性,使得 Python 能夠協助使用者處理以往 Excel 不容易處理的大數據,提升使用者的工作品質及效率。

這個訂閱專欄的主要功能,就是深入淺出的教大家寫 Python,只要跟著股宅一步一步的學習,不管在投資上、工作上,都能為自己加分喔!! 而且重點是 : 「絕對學得會」!


從 0 至 1 的新手程式教學

一、每月 4 篇輕量級 Python 教學

->程式學習

->投資應用

->生活應用

->資料整理

二、加開互動式議題研究室

每 3 個月做出一個短暫公開的網站,以數據分析探討一個股市/經濟議題/迷思/都市傳說,設計互動遊戲功能,讓使用者在互動過程中,檢視視覺化數據分析,從而了解議題,破解迷思。

一個月僅 99 元,趕緊訂閱加入學習 Python (點擊前往





拍手 拍手
13 次拍手
拍手 拍手
追蹤

推薦文章

新到舊
凱凱sky

sum_multi=1
for i in range(1,11):
sum_multi=sum_multi*i
print(sum_multi)

1
2
6
24
120
720
5040
40320
362880
3628800

顯示完整內容
06/04
回覆
【股宅學程式】: 工作加薪、投資理財,我都靠 Python

正解! 要不要試著挑戰費式數列呢

06/05
回覆
聲音節目
沒有描述
--:--
--:--
1.0x
播放速度
2.0x
1.75x
1.5x
1.25x
1.0x
0.75x
追蹤列表
播放清單
沒有播放清單
沒有待播放的清單
返回播放器
接著播放
清除全部
沒有待播放的清單