大爽Python入門教程 4-5 實踐使用
阿新 • • 發佈:2021-11-18
大爽Python入門公開課教案 點選檢視教程總目錄
1 數學公式
這裡是一些簡單的練習,
將基礎常用的數學公式,寫成函式。
一次函式
\(y=kx+b\)
- 實現一個函式,根據
k
,x
,b
計算y
值
k
的預設值為1,b
的預設值為0。
實現程式碼如下
def get_linear_y(x, k=1, b=0):
y = k * x + b
return y
- 展示以下一次函式,自變數取0到5之間所有整數時(包括0,5), y的值。
程式碼如下
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