大爽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
posted @ 2021-11-18 19:17  大爽歌python编程辅导  阅读(111)  评论(0编辑  收藏  举报