顯示具有 數學 標籤的文章。 顯示所有文章
顯示具有 數學 標籤的文章。 顯示所有文章

2017年5月24日 星期三

Python ê 基礎 - 變數

佇咧寫 Python 程式, 上基礎就是變數. 變數是暫時物件的所在. Python 佇運行過程中, 有時一寡運算的結果, 咱愛先留个, 後壁才提出來用。比論講:

$ python3
>>> sum = 2 + 3
>>> sum
5
>>> result = sum * 6
30

>>> print(sum) 
5
>>> print(result)
30

這咧簡單的程式[tîng-sit]內, sum, result 就是變數. 了後隨時會使提出來用。頂一个算式實際上就是 (2+3)*6.

變數的, 用相仝符號 '=' 來入去. sum = 2 + 3 就是出結果, 順紲囥--入去 sum 內底.

變數號名有一寡限制, 愛是英文字母𤆬頭, 後壁英文字數字抑是底線, 比如講 gua, dog1, my_dog 攏會使. 猶毋過, 像 3dogs, %lang 就袂用--得.

另外的限制, 是有一寡 Python 的保留字, 親像 for, while, if, end, 這是 python 留--落來欲家己用个.

--著這寡限制, 你會使凊彩你佮意的名. 毋過, 上好是愛有小可仔意思, 和程式 uì 頭到尾的理路有關係. 因為你可能寫了--咧, 半年了後才閣轉來看. 嘛有可能你的程式真有路用, 真濟人用, 愈寫愈大, 有千萬的變數, 落尾無人知影你的變數佇啥物, 連你家己嘛袂記得。比如講:

a = 2 + 3 
b = 7 + 9
c = a * b



sum1 = 2 + 3
sum2 = 7 + 9
result = sum1 + sum2

這兩的是做仝款的代誌. 毋過, 第二个雖然無解說, 逐家嘛个出來伊佇創啥. 號一个好名, 是真好的習慣

2017年5月16日 星期二

進一步 ê 數學, 順紲介紹程式庫

咱頂擺有講著基礎數學的 +, -, *, / 運算. 毋過, 數學的物件閣真濟, 按呢是無夠。

數較簡單, 用 ** 就會使, 像平方 22 , 立方23, 就是

$ python3
>>> 2**2
4
>>> 2**3
8

無論偌濟次方, 攏無siáng 問題. 若是開平方 2咧? 開立方咧? 當然, 咱會使用數學智識, 開平方就是指數 1/2, 開立方就是指數 1/3/, 所以

>>> 2**(1/2)
1.4142135623730951
>>> 2**(1/3)
1.2599210498948732

閣落來, 像對數[tuì-sòo] Log, 圓周率[înn-tsiu-lu̍t] π, 幾何 的 sin, cos, 這寡無法度逐項攏用數學智識uì上基礎來推論出來, 傷了工, 閣僫做, 嘛失去學程式的意義.

學程式有一咧重要的觀念: 莫重複發明輪仔

學寫程式, 就是欲利用電腦削削叫个計算速度, 閣有濟濟人寫好的家私. 你想欲做的代誌, 檢采較早有人想過, 嘛做出來也. 咱若會當著 in 寫好的家私, 直接來用, 會使咱省足濟時間咧。

學會曉 Python, 你就徛佇這咧磅空口, 這磅空內有濟濟个軟體寶藏. 看你欲入來無? 欲行外遠? 內面个寶藏, 你一世人嘛用袂了。

咱以數學來講, 若欲較深咧, 會使利用 math 這咧 module. Module 這个概念, 後擺咱會閣較詳細介紹, 佇遮[sing]知使用方式.

欲使用 math 這个 module, 咱愛先共伊掠入來目前个環境, 這咧命令號做 import (進口).

$ python3
>>> import math

紲落來, 你就會使用伊內底个家私. 伊的物件, 攏是 math.XXX() 个樣, 比如講, 欲算對數 log2 10, 就是

>>> math.log(10, 2)
3.3219280948873626
>>> math.log2(10)
3.321928094887362
>>>

頂兩个是仝款ê, 只是 math.log2() 是專門用佇 log 2 base 个, math.log() 第二个是會使變ê, 你欲tī 2, 3, 4, ... 啥物 base 攏會使.

你若袂用特殊个固定數 (constant), 親像圓周率 π, 自然對數 e,

>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045

賰个閣有足濟 function,像 cos(), sin(), tan(), .. 三角函數(Trigonometric functions), 求上大公因數 gcd(), 角度單位轉換 degrees(), radians(), 濟佮講袂了.
若是按呢, 欲按怎使用佮查咧? 你會使用網路頂 ê 文件, Python 个 文件做囉真好, 你會使去查, 嘛會使直接佇 Python3 shell 中央(tiong-ng), 用 help() 來查

>>> help(math)
....
>>> help(math.log)

先用 help(math) 大概 [tāi-khài] 查 math 有啥物函數, 揣著你愛个, 比論講 log(), 才閣用 help(math.log) 查伊的詳細用法.

當然, 數學遐闊, 嘛毋是 math 一咧 module 有tha̋ng 總包. 好佳哉 Python 嘛毋是干焦 math 這一咧數學函數, 基礎个閣有 numbers 來 數字个處理, 像複數 (complex number),  cmath, decimal, fractons, random, statistics. 橫直, 等你欲用著个時才去揣就好阿

2017年5月6日 星期六

用 Python3 來做計算機

咱了解欲按怎安裝, 運行 Python 了後, 就會使開始使用囉.

Python 是一咧工具, 你會使共當做物仔, 嘛會使用伊來賺食. 就干焦唱歌, 有人家己hinn-hinn-honn-honn 唱歡喜, 嘛有人上舞台做大歌星. 一支筆, 有人寫來記數 niâ-niâ, 嘛有人寫出大部的小說天跤下攏知影伊的名. 總是, 踮電腦的天跤下, 抑是網路的世界, Python 是足有路用的專業工具.

毋過, 咱若欲入門, 嘛免想遐濟. 伊嘛是會使用來耍, 用來解決一寡生活的零星代,趣味就好. 這馬咱先來共伊當做計算機來用.

咱先進入伊的應聲模式:

$ python3
>>> 4 + 6
10
>>> 20 - 7 *2
6
>>> (20 - 7*2)/4
1.5
>>> 100/3
33.333333333333336
>>>

踮頂懸的例tiőng, 咱共上基本的加[ka],減[kiám],乘[sîng],[pun, 華語:除] 行一遍。踮遮, 台語念法參考筆算个初學這本書.

數學符號, 加是 +, 減是 -, 無問題. 毋過乘改作 *, 分改作 /.
號 () 的意義佮數學定義仝款, 優先計算.
按呢是毋是真簡單呢?

有時, 你落落長的算式, 算了才發現有毋著, 欲按怎? 閣重新一字一字揤?

免遐囉嗦--啦, 只要揤向頂的箭頭  就會轉去拄仔彼例算式, 才閣揤正鍵→,倒鍵←,倒退鍵(Backspace), 挕掉鍵 (Delete) 來改正.
有時, 你想欲頂一咧計算的結果, 用佇這馬這咧計算, 若按呢愛用線 _, 比如講:

>>> 2 + 4 +5/3
7.666666666666667
>>> 2 * _
15.333333333333334
>>> 

對分法, 咱閣愛討論較咧. 分法有時會分袂了, 欲有數(remainder, 華語: 餘數), 抑是直接共賰數掉? 抑是欲算幾位的小數? 佇 Python3, 咱用無仝的算 (operator) 來區別:

>>> 17/3
5.666666666666667
>>> 17//3
5
>>> 17%3
2

線 / 是算出小數, 雙斜線是干焦留整數, 百分比 % 是干焦留賰數。

數 (power) 是雙 ** 來代表:

>>> 5**2
25

Python3 的數學規則, 親像先乘分, 後加減, uì 倒手爿算到正手爿, 攏佮數學仝款。

佇 Linux 來看GPX 檔案

最近定定有戶外活動。使用𤆬路機 (GPS) 來記錄行過的路線。普通我記錄路線,攏是用手機仔抑是專門个𤆬路機,罕得用電腦來看。 毋過,"仙人拍鼓有時錯,跤步踏差啥人無"。有一擺我無細膩,袂記得共一擺活動的路線收煞起來,閣直接開始記錄下一擺的活動,按呢共幾落...