大爽Python入门公开课教案 点击查看教程总目录
这里是一些简单的练习,
将基础常用的数学公式,写成函数。
\(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
代码如下
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
实现函数,能计算列表最大值和最小值的差值(最大值-最小值)
首先,写出代码的框架如下
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
实现一个函数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
实现一个函数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