iT邦幫忙

7

【Python 超入門】<心原一馬從零開始教你打程式> (1)~(11) 統整 #毛遂自薦能夠快速入門python的好教材

大家好,我是「心原一馬」,內心原來一心喜歡打程式碼。
【Python 超入門】是我去年剛開始寫作時第一個系列文,
由於iT邦幫忙平台本身的限制,平常發文無法發系列文(iT邦幫忙的鐵人賽才行),
故小馬來幫各位有心學習的新手們獻上熱騰騰的重點整理啦

其實這篇早該整理了,
只是寫完【Python 超入門】系列後想到還要再統整當時有點懶~
總之呢,當時寫完【Python 超入門】共12篇(11篇正文,1篇統整(1)~(6)的內容)中,
六篇達到iT邦幫忙的達標好文之標準,
文章為當月的熱門作品,
顯示此系列作品有受到一定人數的喜愛、追蹤、收藏,
若不完整統整實在可惜,
也希望幫助到有心學習程式入門的朋友哦~

文章列表(純新手建議先按正文順序1~11讀完再看底下的總整理複習)

在這個系列中,我們從基本安裝開始教起,
一直學到了if-else邏輯讓可以程式做選擇。
看完1~6章的你,已經有能力寫出簡單的程式了。

而在系列的下半部,教了程式最常見的流程控制概念for, while,
亦學到「函數」這個概念,讓我們知道電腦可以大量幫我們做重複的運算工作,
看完7~11章的你,是否學會這個簡單的小遊戲了呢?

【Python 超入門】(1) 心原一馬從零開始帶你學程式:本篇教你安裝開發python的anaconda環境
【Python 超入門】(2) 心原一馬從零開始帶你認識spyder開發環境: 本篇教你認識寫python常用的spyder工作環境
【Python 超入門】(3) 新手的疑惑- 程式? 我按計算機都算的比你快: 教你如何用變數把資訊存起來
【Python 超入門】(4) 變數型態-list: 能納百物的百寶袋: 教你變數最常用的三種型態: 數字、字串、列表(list)
【Python 超入門】(5) 淺談Debug(除錯)- 不怕錯誤的勇氣: 最基本排除程式錯誤的方法
【Python 超入門】(6) if-else邏輯: 人生最常做的事,不是吃飯睡覺,而是______ : 讓程式可以做選擇
【Python 超入門】(7) for/while邏輯- 人生苦短,重複的事情就交給程式做吧
【Python 超入門】(8) break/continue 邏輯- 造謠者向其它求職者說:「我已經拿到這份工作了,你們可以回家了」- 教你跳出for, while的迴圈
【Python 超入門】(9) input()函數- 使用者跟電腦對話的方法
【Python 超入門】(10) 自定義函數介紹- 主人向他的機器人管家抱怨:「你跟我這麼多年了,也該了解我們家的習慣了吧?」
【Python 超入門】(11) (完結篇) 實作你的第一個遊戲-金頭腦益智問答
【Python 超入門】(12) (補充篇)當你的同學與全國明星同名同姓?談python的區域變數與全域變數

觀念總整理(建議零基礎者先依序讀過上方的文章列表)

秀出第一支程式- print('Hello, World!')

print() 函數貫穿整個python 學習之路,
它可以用來在螢幕上顯示出你想印的東西,
是秀出結果的重要函數,
原則上,print()裡面可以放入任何形態的變數

註解- 為你的程式添加說明

在開篇【Python 超入門】(1)中曾快速帶過,你可以在程式中加入註解,
不會影響程式執行的結果,
用三個雙引號包起來是多行註解,
寫一個「#」符號是單行註解,
看例子:

# 井字號後面可以寫一行的註解
# 程式功能: 在螢幕上顯示'Hello, World!'
"""
我是多行註解,這段文字不會影響程式的結果,
寫註意的用意是希望程式作者下次打開程式時,
可以很容易的回想起來自己在寫什麼呢 ^^
"""
print('Hello, World!')

變數形態- 數字、字串、列表(list)、布林值(boolean)

至目前為止,我們已經學會了四種變數形態,
數字、字串、列表(list)(見【Python 超入門】(4)) 與 布林值(見【Python 超入門】(6)),
簡單示例如下:

num = 5   # 我是一個整數(int)
f = 3.14  # 我是一個浮點數(float)「x = x+1」簡寫為「x += 1」
s = 'Hello, World!' # 我用單引號包起來,是個字串(str)
s2 = "小馬好可愛" # 我用雙引號包起來,我也是字串
L = ['Alice', 'Bob', 'Cindy'] #我可以存放很多資料,我是列表(list)
b = True # 我是布林值(boolean),只有True和False兩種可能,注意True和False開頭要大寫哦

算術運算?比較運算?傻傻分不清?超詳盡用法整理來了~

程式語言中,可以對數字進行「加、減、乘、除」運算;
亦可以進行比較兩個數值誰大誰小的比較運算,
這些不同的運算子是怎麼一回事呢?
讓心原一馬分門別類來詳解:

第一類: 算術運算子

算術運算子用來做數字之間的基本運算,包括「加、減、乘、除」,
其它還有取餘數,整數除法,
比較特別的是python還有次方運算。
以下表舉例說明:

運算子 說明 運算 結果
+ 把兩個數相加 8+9 17
- 把兩個數相減 8-9 -1
* 把兩個數相乘 8*9 72
/ 把兩個數相除 8/10 0.8
// 整數除法取商數 40//6 6
% 整數除法取餘數 40%6 4
** 次方運算 2**5 32

(註: 學過數學的朋友,可能會覺得次方符號不是「^」嗎?但「^」在程式語言中有其它的意思,由於這邊是新手教學文,在此先不解說「^」的涵義,有興趣的朋友歡迎google自學或是在留言區提出來,可以做為補充來講解)

第二類: 指定運算子

這類運算會搭配算術運算子使用,如「+=」、「-=」、…
對自身變數做完運算再存在變數中,
例如「x += 1」是「x = x+1」的簡寫。
以下表說明之: (假設原本 x=5)

運算子 運算 指定運算 結果
+= x = x+10 x += 10 15
-= x = x-10 x -= 10 -5
*= x = x*10 x *= 10 50
/= x = x/10 x /= 10 0.5
//= x = x//3 x //= 3 1
%= x = x%3 x %= 3 2
**= x = x**3 x **= 3 125

第三類: 比較運算子

比較運算子可以比較兩個數值的大小,得到的結果為一個布林值。
(我們假設apple=2,banana = 3)

運算子 說明 比較運算 結果
== 等於 apple == banana False
!= 不等於 apple != banana True
< 小於 apple < banana True
> 大於 apple > banana False
<= 小於或等於 apple <= banana True
>= 大於或等於 apple >= banana False

第四類: 邏輯運算子

邏輯運算子針對運算式的True,False做邏輯判斷,
例如 and、or、not都是(相當於口語的「且」、「或」、「不」),
具體例子可以參考【Python 超入門】(6)的文章末尾。

運算子 用法 說明
and 運算式1 and 運算式2 只有兩個運算式都是True時才是True
or 運算式1 or 運算式2 只要任一個運算式是True就是True
not not 運算式 結果會與原本運算式的結果相反

for…in 迴圈

for...in...的口語是「對於所有在...裡面的」,
可以拜訪一個範圍內的物件,

範例一、印出列表內元素:

students = ['Alice', 'Bob', 'Cindy', 'Daisy', 'Eve', 'Fairy'] 
for student in students:
    print(student)

結果:
Alice
Bob
Cindy
Daisy
Eve
Fairy

範例二、印出0~99的數字:

for i in range(100):
    print(i)

結果就會是
0
1
2

99
(註: 由於多數程式語言習慣上從0開始,
range(100)表示從0~99的整數區間,而非1~100)

範例三、印出1~100的數字:

for i in range(1, 101):
    print(i)

結果就會是
1
2
3

100
(註: range(a,b)表示從a~b的整數區間, 包含a但不含b)

範例四、重複的事情做一百遍

for i in range(100):
    print('我以後上課不會打瞌睡')

會在螢幕上顯示100行我以後上課不會打瞌睡

while 迴圈

while的口語是「只要某某條件成立,就一直做…」
while的基礎語法如下:

while 條件運算式:
    只要條件成立時就會一直做這個敘述

範例- 利用while迴圈計算1+2+…+1000

ans=0   #用ans變數記錄最後加總的答案
num=1   #用num變數記錄下一個要加的數字
while num<=1000: #一直增加數字,直到num到達1000
    ans+=num
    num+=1  #每次把要加的數字+1
print(ans)  #迴圈結束後,把答案印出來

break/continue(範例請見正文)

break和continue都有跳過的意思,

  • 但break是直接跳出整個迴圈,
  • 而continue只是跳過當次迴圈中接下來的指令,迴圈繼續執行。

input語法- 讓使用者可以輸入文字給程式

#改良的程式一
yourName = input("請輸入您的大名: ")
print("很高興見到你," + yourName)

測試結果(用spyder寫程式):
https://ithelp.ithome.com.tw/upload/images/20190705/20117114lNXW9kg1PG.jpg

自定函數的基礎語法

def 函數(參數):
    要執行的程式碼1
    要執行的程式碼2
    …
    要執行的程式碼N
    return 結果
  • 參數是從外部輸入給函數使用的資料
  • 回傳值是從函數傳回給主程式的資料,在python內會用return這個關鍵字取得回傳值。

2 則留言

1
googlemap
iT邦新手 5 級 ‧ 2020-03-06 17:33:28

謝謝教學分享,整理得很清楚,非常感謝!

謝謝您的鼓勵哦~

1
otac
iT邦新手 5 級 ‧ 2020-04-10 23:35:09

謝謝分享。
很專業!

謝謝讚美~

我要留言

立即登入留言