資料分析 | Python新手村01_基本的輸出應用

閱讀時間約 4 分鐘
前幾年因為工作方面的需求,花了一些時間自學Python,應用於網站爬蟲與資料分析,但近期由於職務的轉換,Python的實作機會減少了許多,對於code撰寫的敏感度也因此降低不少,趁上個月看到勞動力職能發展協會官網有一門新課程Python大數據資料探勘分析應用班正在線上招生,想說既然政府與公司都有補助,二話不說就報名參加。總共為期54小時的課程,還頗扎實的(九週的周末假期直接消失不見😱),可是難得能趁此機會,重新熟悉一下Python程式的撰寫,這樣的小犧牲應該也很值得,當然,我也想透過自我的線上演練,跟各位朋友逐步分享上課的學習成果,有興趣的朋友,就跟我一起來探索Python的精采世界吧!

input()函式與字串插補

首先,我們來點簡單的熱身習題,了解一下Python的基本運算應用:
#輸入input()
#輸出print()
name = input("請輸入您的姓名:")
print(name)
input()函式會讓程式暫停,等待使用者自行輸入一些文字,python在取得使用者的輸入文字後,會將輸入的文字存到一個string變數型式。
輸出結果:
請輸入您的姓名:趙鐵柱
趙鐵柱
另一方面,假設我們想要把輸出結果,與字串做結合,轉變成一段比較具有意義的文字內容,這時候就可以使用「字串插補」的功能,範例如下:
print(f"您的姓名是:{name}")
輸出結果:
您的姓名是:趙鐵柱
結合上面觀念的運用,範例如下:
chinese = input("請輸入國文成績:")
english = input("請輸入英文成績:")
sum = chinese + english
print(f"國文成績是{chinese},英文成績是{english},總成績是{chinese + english}")
假如我們國文成績為30分,英文成績為70分,輸出後的結果為:
請輸入國文成績:30 
請輸入英文成績:70 
國文成績是30,英文成績是70,總成績是3070
疑,奇怪?怎麼跟我們預期的加總結果不太一樣,這是初學者很容易犯的錯誤,前面剛剛有特別提到,input()函式輸出的結果是包裝成string格式,所以正確的code應該還要將上述的變數轉換成數值格式,而為了避免成績還可能帶有小數點,所以使用eval()函示會最保險(eval()函示可以直接將輸入的字串,轉換成可執行的運算格式),所以修正後的寫法應該為:
chinese = eval(input("請輸入國文成績:"))
english = eval(input("請輸入英文成績:"))
sum = chinese + english
print(f"國文成績是{chinese},英文成績是{english},總成績是{chinese + english}")
假設這次國文成績輸入為67.5分,英文成績輸入為73.8分,打印出的正確結果為:
請輸入國文成績:67.5 
請輸入英文成績:73.8 
國文成績是67.5,英文成績是73.8,總成績是141.3
沒錯,這下子就是我們要的計算結果了!

算術運算子的順序問題

第二個基礎觀念,在Python上進行數學運算時,還要特別注意各運算子的優先順序(operator precedence),優先順序由高至低如下圖:
還不太懂沒關係,立刻進行幾個簡單的案例,示範如下:
-5 ** 2
要先進行指數運算,接著才把負值加上,所以答案為-25。
(-5) ** 2
有括號的優先順序最大,所以這邊的答案就為25。
2 * (1 + 2) ** 2 - 2 ** 2 * 2
可分為前後兩部分來計算,前半部的(1+2)=3,3的二次方為9,9再乘以2等於18;後半部的2二次方為4,4再乘以2等於8,所以兩相減之後的答案為10。
綜合上面的觀念,來解決一個小學的數學考題,假如我們要計算梯形面積,公式為:
梯形公式 =(上底+下底)*高/2
print("請計算梯形面積")
top = eval(input("請輸入上底"))
bottom = eval(input("請輸入下底"))
height = eval(input("請輸入高:"))

print(f"面積是{(top + bottom) * height / 2}")
打印結果為:
請計算梯形面積
請輸入上底10
請輸入下底15
請輸入高:5.5
面積是68.75
輕鬆的求出答案。
今天,就簡單練習到這邊,下回再見!👊
為什麼會看到廣告
32會員
39內容數
在瞬息萬變的數位宇宙中,不堅持永遠的Yes或No,自許以流量成長的阿甘精神,碰撞激盪出各種有趣的科技行銷手法,涵蓋產品數據、社群互動、廣告技術、內容創造、會員經營...等面向,一點一滴的帶大家進入產品Martech的領域中。
留言0
查看全部
發表第一個留言支持創作者!
我吃故窩宅的沙龍 的其他內容
近幾年來,市面上總不乏出現各種新名詞,「類火車」、「微解封」、「類普篩」、「元宇宙」、「大數據」...等,這些排山倒海的資訊,讓我們深怕自己一不小心沒跟上,會錯過了世代更迭的腳步,其中,特別是「大數據」這三個字流行最久,也是目前影響企業最深。以台灣市場來說,各類領域的企業,假如發展策略沒有跟大數據扯
市場區隔是什麼? 例如,汽車的TA就可以很清楚的區分為「小資族群」、「親子家庭」、「冒險越野」、「都市貴族」...等,而企業就會因應生產各系列的車款,而這些車款就會呈現出不同的品牌印象、價位區間以及功能訴求。 有效市場區隔的條件 我們都愛用甚麼變數來區隔市場 特徵分群 行為分群 區隔分析範例 小結
如果你正在學習SQL,這邊介紹一個方便簡易的方式,不須透過安裝傳統的MySQL,只要利用Google提供的BigQuery開源示範dataset就可以實作練習,另一方面,如果你想應用自己手邊上的資料,也能簡單的使用匯入功能(如何匯入看這邊)。 輸入名稱「data-to-insights」。
最近在公司跟資料科學家一起討論了產品推薦機制的運作邏輯,才開始理解了甚麼是關聯分析(Associative Analysis),覺得挺有趣的,想說把學習心得記錄下來,藉此機會跟大家分享。 接著下來,我們就以「樂屋網」產品的使用者行為資料庫,做為假設的範例,進行簡單的解釋說明。 條件機率與貝氏定理
近幾年來,市面上總不乏出現各種新名詞,「類火車」、「微解封」、「類普篩」、「元宇宙」、「大數據」...等,這些排山倒海的資訊,讓我們深怕自己一不小心沒跟上,會錯過了世代更迭的腳步,其中,特別是「大數據」這三個字流行最久,也是目前影響企業最深。以台灣市場來說,各類領域的企業,假如發展策略沒有跟大數據扯
市場區隔是什麼? 例如,汽車的TA就可以很清楚的區分為「小資族群」、「親子家庭」、「冒險越野」、「都市貴族」...等,而企業就會因應生產各系列的車款,而這些車款就會呈現出不同的品牌印象、價位區間以及功能訴求。 有效市場區隔的條件 我們都愛用甚麼變數來區隔市場 特徵分群 行為分群 區隔分析範例 小結
如果你正在學習SQL,這邊介紹一個方便簡易的方式,不須透過安裝傳統的MySQL,只要利用Google提供的BigQuery開源示範dataset就可以實作練習,另一方面,如果你想應用自己手邊上的資料,也能簡單的使用匯入功能(如何匯入看這邊)。 輸入名稱「data-to-insights」。
最近在公司跟資料科學家一起討論了產品推薦機制的運作邏輯,才開始理解了甚麼是關聯分析(Associative Analysis),覺得挺有趣的,想說把學習心得記錄下來,藉此機會跟大家分享。 接著下來,我們就以「樂屋網」產品的使用者行為資料庫,做為假設的範例,進行簡單的解釋說明。 條件機率與貝氏定理
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
Thumbnail
本章介紹第二種常見的資料結構 - 堆疊(Stack),與陣列建立方式雷同,我們常透過靜態串列與動態鏈結串列的方式來建立堆疊,本文會介紹實作過程與比較兩種方式之間的差異。
Thumbnail
本文為陣列實作的延伸,特別介紹鏈結串列不同的方式,以解決一些常發生在鏈結串列上的問題,並比較不同做法的優缺點。
Thumbnail
本文會介紹靜態結構 - 串列(List)與動態結構 - 鏈結串列(Linked List)來實踐陣列的不同功能,如:刪除、計算元素個數與反轉。
Thumbnail
本文延續從上一篇文章的內容,繼續來介紹如何分別以靜態結構 - 串列(List)及鏈結串列(Linked List)兩種不同的方式來建立實作陣列的新增及修改元素功能。
Thumbnail
陣列是Python語言的最基礎也最容易實作的資料結構,主要可以透過兩種方式在Python上實踐陣列,其中一種是靜態結構 - 串列(List),另一種則是動態結構 - 鏈結串列(Linked List)。 我們會依序介紹這兩種作法如何在Python上執行陣列的相關功能,並比較兩種方法之間的差異。
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
台灣發生性騷擾的行為樣態有哪些? 在哪裡發生? 被害人與加害人的關係呢? 分別有什麼特徵? 來看台灣性騷擾申訴案件的剖析。
Thumbnail
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
Thumbnail
本章介紹第二種常見的資料結構 - 堆疊(Stack),與陣列建立方式雷同,我們常透過靜態串列與動態鏈結串列的方式來建立堆疊,本文會介紹實作過程與比較兩種方式之間的差異。
Thumbnail
本文為陣列實作的延伸,特別介紹鏈結串列不同的方式,以解決一些常發生在鏈結串列上的問題,並比較不同做法的優缺點。
Thumbnail
本文會介紹靜態結構 - 串列(List)與動態結構 - 鏈結串列(Linked List)來實踐陣列的不同功能,如:刪除、計算元素個數與反轉。
Thumbnail
本文延續從上一篇文章的內容,繼續來介紹如何分別以靜態結構 - 串列(List)及鏈結串列(Linked List)兩種不同的方式來建立實作陣列的新增及修改元素功能。
Thumbnail
陣列是Python語言的最基礎也最容易實作的資料結構,主要可以透過兩種方式在Python上實踐陣列,其中一種是靜態結構 - 串列(List),另一種則是動態結構 - 鏈結串列(Linked List)。 我們會依序介紹這兩種作法如何在Python上執行陣列的相關功能,並比較兩種方法之間的差異。