1. 程式人生 > 其它 >大爽Python入門教程 4-5 實踐使用

大爽Python入門教程 4-5 實踐使用

大爽Python入門公開課教案 點選檢視教程總目錄

1 數學公式

這裡是一些簡單的練習,
將基礎常用的數學公式,寫成函式。

一次函式

\(y=kx+b\)

  1. 實現一個函式,根據k, x, b計算y
    k的預設值為1,b的預設值為0。

實現程式碼如下

def get_linear_y(x, k=1, b=0):
    y = k * x + b
    return y
  1. 展示以下一次函式,自變數取0到5之間所有整數時(包括0,5), y的值。
\[y_1 = 2x + 1 \\ y_2 = x + 2 \]

程式碼如下

for x in range(0, 6):
    y1 = get_linear_y(x, 2, 1)
    y2 = get_linear_y(x, 1, 2)
    print("x = %s, y1 = %s, y2 = %s" % (x, y1, y2))

輸出如下

x = 0, y1 = 1, y2 = 2
x = 1, y1 = 3, y2 = 3
x = 2, y1 = 5, y2 = 4
x = 3, y1 = 7, y2 = 5
x = 4, y1 = 9, y2 = 6
x = 5, y1 = 11, y2 = 7

2 最大差值

實現函式,能計算列表最大值和最小值的差值(最大值-最小值)
首先,寫出程式碼的框架如下

def get_max(lst):
    pass

def get_min(lst):
    pass

def cal_max_diff(lst):
    max_v = get_max(lst)
    min_v = get_min(lst)
    max_diff = max_v - min_v
    return max_diff

然後下來只需要實現求最大值,求最小值。
這個的思路和上一章的例題習題的是一樣的。

最後程式碼如下

def get_max(lst):
    max_v = lst[0]
    for item in lst:
        if item > max_v:
            max_v = item

    return max_v

def get_min(lst):
    min_v = lst[0]
    for item in lst:
        if item < min_v:
            min_v = item

    return min_v

def cal_max_diff(lst):
    max_v = get_max(lst)
    min_v = get_min(lst)
    max_diff = max_v - min_v
    return max_diff

呼叫如下

arr1 = [13, 15, 12, 19, 5, 7, 10]
print(cal_max_diff(arr1))

輸出如下

14

3 檢查長度

實現一個函式check_all_match_size(words, size)
檢查一個由字串構成的列表words
所有字串長度是否符合指定尺寸size
全都符合尺寸返回True,否則返回False
執行時示例如下

>>> check_all_match_size(['lion', 'deer', 'bear'], 4)
True
>>> check_all_match_size(['lion', 'deer', 'sheep'], 4)
False

程式碼如下

def check_all_match_size(words, size):
    for word in words:
        if len(word) != size:
            return False

    return True

4 檢查素數

實現一個函式is_prime(num)
判斷num是否是素數。(預設num>=2)
是返回True,否則返回False

補充:素數,也稱質數,
指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。

執行時示例如下

>>> is_prime(4)
False
>>> is_prime(5)
True

程式碼實現如下

def is_prime(num):
    for i in range(2, num):
        if num % i == 0:
            return False

    return True