大爽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的值。
\[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