iT邦幫忙

3

【Python 超入門】(3) 新手的疑惑- 程式? 我按計算機都算的比你快

大家好,我是「心原一馬」,是「內心原來一心喜歡打程式碼」的簡稱。
之前我已經詳細的介紹過如何安裝環境編寫你的第一支程式了,
我主要是用anaconda的spyder來編寫python程式的,
對環境還不太熟悉的朋友,可以先看我的這兩篇入門文章:
【Python 超入門】(1) 心原一馬從零開始帶你學程式
【Python 超入門】(2) 心原一馬從零開始帶你認識spyder開發環境
從本文開始,正式進入程式設計的旅程囉~

程式碼的解說方式

如圖,這是spyder的編輯程式介面,你可以在上面打程式:

https://ithelp.ithome.com.tw/upload/images/20190613/20117114YkV0WGjkn3.jpg

學過前兩章的朋友,應該可以看的出來這支程式的效果可以在Ipython視窗上秀出
Hello World這幾個字,如下圖:

https://ithelp.ithome.com.tw/upload/images/20190613/20117114xZBAKBIvKI.jpg

但由於一直截圖有點麻煩,大家用的開發環境也不一定是spyder,
往後我要講解程式碼的時候,
我就會用一個區塊把程式碼包起來,如下圖:

print('Hello World')

執行的結果為:
Hello World

利用像這樣解說的方式維持版面的簡潔哦。

情境-炎炎夏日正好眠?打工儲蓄去囉~

我們先設想一個情境,最近快放暑假了,你覺得暑假閒來沒事,想去餐廳打工賺錢,
餐廳打工的時薪是150元,你一週做5天,每天做8個小時,
那麼你一個月可以賺多少錢呢?
你會想說
哎啊,這麼簡單的問題,我按計算機就好了
先別急,我們是程式入門課,試著用程式解解看吧。
我們賺的錢是150元*8(小時/天)*5(天/週)*4(週/月),
因此,我們在編輯視窗輸入

print(150*8*5*4)

(注意,這是數學運算,不要用引號把150*8*5*4包起來)
可以看到結果為
24000
OK,那假設你暑假前一個月做的很好,老闆幫你加薪到時薪200,
那麼你一個月可以賺多少錢呢?
這時我們就要重新把算式改成

print(200*8*5*4)

現在的問題很簡單,但是如果一旦你想叫電腦做的計算很複雜,
每次情境變了,我們計算就要全部重頭來過,那可是很傷腦筋的呢~
這時就需要會儲存資料的好幫手- 「變數」來幫我們了。

變數-儲存資料的好幫手

python使用變數的規則很簡單,
格式是變數名稱=某物(可以是數字、字串)
我們直接以實例說明。

hour_salary = 150
work_hour_per_day = 8
work_day_per_week = 5
print(hour_salary * work_hour_per_day * work_day_per_week * 4)

像這樣幫變數取有意義的名稱,未來碰到類似的情境時,
我們只要修改變數裡的數字即可,
例如老闆幫你加薪到時薪200,
餐廳生意興隆,每天工作時數要延長到十小時,
只要這樣修改程式即可:

hour_salary = 200
work_hour_per_day = 10
work_day_per_week = 5
print(hour_salary * work_hour_per_day * work_day_per_week * 4)

程式比計算機方便的地方-「存檔」

人們很關心自己什麼時候能存到人生第一桶金,
承上,假設你一個月生活費估計花5000元,
那麼你一個月可以「存下」多少錢呢?
這問題假如你用計算機按的話,大概隔天想到這問題時,
我們又要重新按一次計算機了。
但我們現在有程式,我們新增一個變數
month_fee=5000代表月花費5000元。
我們修改如下:

hour_salary = 200
work_hour_per_day = 10
work_day_per_week = 5
month_fee=5000
print(hour_salary * work_hour_per_day * work_day_per_week * 4 - month_fee)

這樣就可以算出一個月存下的錢了。

讓你的程式更好讀-「註解」的效用

即使是程式高手也常常碰到這個問題,,過了一週再打開自己的程式來看,
不禁讚嘆--- 「哇,這是天書嗎?」因為時間一久可能就忘記當初自己在寫什麼了,
這時可以透過為程式加上註解,來讓自己的程式碼更好讀。
註解的方式很簡單,在「井字號(#)」後面加上註解文字即可,
註解不會影響原本的程式運作,
範例如下:

hour_salary = 200       #設定時薪
work_hour_per_day = 10  #設定每天的工作時數
work_day_per_week = 5   #設定每週
month_fee = 5000        #設定每個月生活費
print(hour_salary * work_hour_per_day * work_day_per_week * 4 - month_fee) #計算每月存的錢

這樣是不是更賦予程式意義了呢?希望今天大家也收穫多多。

附錄: 合法的變數名稱

這邊做個小提醒,變數命名有一定規則,否則程式可能會無法執行,
列舉幾個重點:

  • 變數名稱只能用英文字母、數字、_(底線)或中文字組成 (但建議不要用中文字幫變數取名)
  • 英文字大小寫不一樣,例如: Name 和 name 是不同的變數名稱
  • python內建函數不可以當作變數名稱 (例如: print)
  • 變數不可以用阿拉伯數字當開頭,如 3a 是不合法的名字

尚未有邦友留言

立即登入留言