python由於其簡單精巧的特性,經常被用來處理大量的數據,做一些基礎的計算與數據分析。現在以小學的代數代數為引,帶你進一步了解python語言。 還記得上一節我們提到的線上編程環境嗎?我們接下來課程用到的代碼,都將在 https://code.y444.cn/python 上運行。進入該網站後,點擊左上角的下拉框,將 python2.7 切換為 python3.6 。課前熱身 按照我們行業規矩,學習一門程式語言首先要向計算機問好。 在這裡簡單介紹一下上面的代碼含義,print() 是列印的意思,而括號中的 『hello world』 則是要列印出來的東西(這裡列印的內容稱為字符串,字符串是由一對引號所包裹的內容。你可以嘗試將引號中的內容替換為其他內容)。將代碼輸入到頁面的編輯框內,點擊運行,將會看到計算機也對你問好了.
開始做題首先看一道例題例:已知x=1,y=2,z=3,求2x+y-z的值。 相信各位看一眼應該就已經知道了答案,那麼接下來我們用python來求解這道題 看上去是不是很簡單,這就是python語言的魅力。除了用 * 號代替了 乘號,其餘部分完完全全都是代數的內容。我們可以停下來翻譯一下,把它變成我們熟悉的語言:
回到代碼中去,我們來進一步解析代碼的含義。
首先是 x,y,z 在這裡統稱為變量,也就是我們中學數學中所學的代數。我們都知道代數可以是 x,y,z 這樣的字母,也可以是其他的字母,例如 i,j,k 等,這些都是我們常用到的代數符號。 在python語言中,變量這個概念是在代數的基礎上做了一個擴充,它不再受限於單個字母,而是可以有 數字、字母、下劃線 組成,即一個單詞也可以是變量(注意:變量必須以字母或下劃線開頭,純數字,如 1,2,3 不可以做為變量)。
在變量後面緊跟的 = 在這裡並不是等號的含義,而被稱作為賦值符號。顧名思義,就是將一個值賦予變量的意思。例如 x=1 的含義就是:將1賦值給x,從此以後x就是1的代數表達式。下面是幾個給變量賦值的例子:
pi=3.1415926e=2.718281sin30=0.5 接著來講 print() 裡面的內容。我們把重點放在print()括號裡面的內容:2\x+y-z*,它在計算機中被稱為表達式,也就是我們在數學求解中的代數式。表達式會將2\x+y-z*的結果計算出來,並交給print()列印到屏幕上。
根據之前的經驗,我們得知2\x+y-z*計算的結果是一個數字,那麼我們是不是可以將這個數字再賦值給另外一個變量呢?答案是可以的x=1y=2z=3result=2*x+y-zprint(result) 將上面的代碼複製到編輯欄中運行,也可以得到和之前同樣的結果。進一步,我們是不是也可以用python去計算一些更複雜的式子呢?答案也是肯定的,因為計算機本身就是為了複雜計算而生的機器radius=33pi=3.1415926area=pi*radius*radiuscircumference=2*pi*radiusprint(area)print(circumference) 上面代碼計算了一個半徑為33的圓的面積與周長,輸出結果如下所示拓展延伸 上面的表達式都很簡單,接下來我們稍微提高一下計算的難度,考驗一下我們的計算機的計算能力。比如說,解個一元二次方程: 這道題用因式分解很快就能得出答案。但為了體現出計算機強大的計算能力,我們決定用 求根公式(忘記的同學自行百度),來求解這道題目import matha=3b=-14c=16dert=b**2-4*a*cx1=(-b+math.sqrt(dert))/(2*a)x2=(-b-math.sqrt(dert))/(2*a)print(x1)print(x2)這裡引入了一個 數學計算的包(import math),用於數學計算,其中math.sqrt() 用於計算一個數的算數平方根。關於 包引入 和 math.sqrt() 的內容將會在後續課程中講解,這裡只需要知道 math.sqrt(dert) 將會計算出dert的算數平方根。 這裡帶大家認識一個新的符號 **,這個符號用於求x^y,例如 b**2 就是用來求b的平方。另外,python中的運算順序與我們數學中的運算順序相同:先乘除,後加減,有括號先算括號內的。當然,如果對運算順序有疑問的,還是建議大家多加幾個括號,以保證程序的正常運行。上述程序運行結果如下,大家也可以自己手動驗證一下 python中常用的運算符號有:加(+)、減(-)、乘(*)、除(/)、取模(%)、冪(**)、取整除(//)。這些的運算符號,可以基本滿足我們的日常需求,還有一些其他的運算符號,大家感興趣的可以參考 python運算符介紹課後練習 最後給大家留一道課後習題,大家根據實際情況練習一下。加深鞏固一下知識。求解底邊半徑為15cm,高20cm的實心圓錐的表面積與體積。總結 本節課從代數的角度,帶大家了解了python的一些基礎概念。這也是其他計算機語言的一些基礎概念。後續課程將會帶大家深入研究python的奧秘。