D函数.py

前言:函数是编程中的基础概念,它们允许我们封装一段代码,以便在需要时反复调用。通过使用函数,我们不仅可以提高代码的可读性和可维护性,还可以减少重复代码的出现。

目录

一、函数到底是个啥玩意儿?

二、为啥要用函数?

三、写第一个函数试试水

四、几何计算:从圆面积开始

圆面积计算

矩形面积计算

三角形面积计算

五、数学问题:挑战一下自己

斐波那契数列

阶乘计算

素数检查

六、列表操作:算算平均值

七、看看这些函数到底行不行

八、别怕犯错,多试试!

总结


一、函数到底是个啥玩意儿?

函数这玩意儿,我感觉就像是个“小黑盒”,你把一些东西放进去(参数),它在里面捣鼓捣鼓,然后吐出一个结果(返回值)。刚开始学的时候,我老是搞不明白这个“小黑盒”到底是怎么运作的,后来多写多练,才慢慢理解。

比如说,我们要算一个数的平方,就可以写个函数,把数放进去,出来就是平方后的结果。这个“小黑盒”里面装的就是计算平方的那几行代码。

二、为啥要用函数?

刚开始编程的时候,我老是觉得函数这东西有点多余。后来才发现,这玩意儿可真是太实用了!

  1. 少写重复代码:要是你有个计算平方的功能要重复用好多次,每次都写一遍公式多麻烦啊,直接调用函数就完事儿了。

  2. 代码看着清爽:把代码分块成一个个函数,就像把杂物分门别类放好,别人(或者未来的你自己)再看代码的时候不会晕。

  3. 方便改代码:以后要是想换算法,只改函数里面的内容就行,调用的地方不用动。

三、写第一个函数试试水

别光听我在这儿说,咱们直接上手写个最简单的函数。给它一个数,它就返回这个数加 1 的结果。听起来是不是很简单?代码长这样:

def add_one(number):
    """给一个数加 1
    
    Args:
        number (int): 要加 1 的数
    
    Returns:
        int: 加 1 后的结果
    """
    result = number + 1
    return result

是不是感觉还挺直观的?def 就是告诉 Python 我要定义一个函数,后面跟着函数名(我叫它 add_one),然后括号里是参数(这里就是 number)。冒号一写,下面缩进的代码块就是函数里面要干的事儿啦。最后用 return 把结果吐出去。

试试用这个函数:

num = 5
print(add_one(num))  # 输出: 6

要是运行结果对了,别提多有成就感了!

四、几何计算:从圆面积开始

觉得刚才那个太简单了?那我们来点稍复杂的,算几何图形的面积。先从圆面积开始吧。

圆面积计算

圆的面积公式是 πr²(圆周率乘以半径的平方)。我们把这个公式放进函数里:

def calculate_circle_area(radius):
    """计算圆的面积
    
    Args:
        radius (float): 圆的半径
    
    Returns:
        float: 圆的面积
    """
    return 3.14159 * radius ** 2

试试看:

radius = 5
print(calculate_circle_area(radius))  # 结果: 78.53975

矩形面积计算

矩形面积就更简单了,长乘宽嘛:

def calculate_rectangle_area(length, width):
    """计算矩形的面积
    
    Args:
        length (float): 矩形的长
        width (float): 矩形的宽
    
    Returns:
        float: 矩形的面积
    """
    return length * width

用一下:

length, width = 10, 6
print(calculate_rectangle_area(length, width))  # 输出 60

三角形面积计算

三角形的面积公式是底乘高除以二:

def calculate_triangle_area(base, height):
    """计算三角形的面积
    
    Args:
        base (float): 三角形的底
        height (float): 三角形的高
    
    Returns:
        float: 三角形的面积
    """
    return 0.5 * base * height

测试一下:

base, height = 7, 4
print(calculate_triangle_area(base, height))  # 输出 14.0

五、数学问题:挑战一下自己

函数不仅能干几何计算,还能帮你解决很多数学问题呢!我刚开始觉得这些数学问题很难,后来慢慢拆解,发现其实也不过如此。

斐波那契数列

斐波那契数列很有名啦,前两项是 0 和 1,后面每个数都是前两个数之和。我们写个函数来算第 n 项:

def fibonacci(n):
    """计算斐波那契数列的第n项
    
    Args:
        n (int): 项数
    
    Returns:
        int: 斐波那契数列的第n项
    """
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        a, b = 0, 1
        for _ in range(n - 1):
            a, b = b, a + b
        return b

试试看:

n = 10
print(fibonacci(n))  # 输出 55

阶乘计算

阶乘就是把从 1 到那个数的所有整数乘起来。比如说,5 的阶乘就是 1×2×3×4×5 = 120。函数长这样:

def factorial(n):
    """计算n的阶乘
    
    Args:
        n (int): 非负整数
    
    Returns:
        int: n的阶乘
    """
    if n < 0:
        return None
    elif n == 0 or n == 1:
        return 1
    else:
        result = 1
        for i in range(2, n + 1):
            result *= i
        return result

用一下:

num = 5
print(factorial(num))  # 输出 120

素数检查

素数就是只能被 1 和它自己整除的大于 1 的自然数。我们写个函数来检查一个数是不是素数:

def is_prime(num):
    """检查一个数是否为素数
    
    Args:
        num (int): 需要检查的整数
    
    Returns:
        bool: 如果是素数返回True,否则返回False
    """
    if num <= 1:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True

测测看:

num = 17
print(is_prime(num))  # 输出 True

六、列表操作:算算平均值

列表在 Python 里超常用!我们写个函数来算列表里数字的平均值:

def calculate_average(numbers):
    """计算列表中数字的平均值
    
    Args:
        numbers (list): 包含数字的列表
    
    Returns:
        float: 列表的平均值
    """
    if not numbers:
        return None
    return sum(numbers) / len(numbers)

用用看:

numbers = [1, 2, 3, 4, 5]
print(calculate_average(numbers))  # 输出 3.0

七、看看这些函数到底行不行

为了看看这些函数到底行不行,我写了点测试代码,把结果都打印出来。看着自己写的函数能跑出正确的答案,那种感觉,就像自己做了一顿饭,味道还不错,挺有成就感的!

if __name__ == "__main__":
    # 计算圆面积
    radius = 5
    print(f"半径为 {radius} 的圆面积: {calculate_circle_area(radius)}")
    
    # 计算矩形面积
    length, width = 10, 6
    print(f"长 {length} 宽 {width} 的矩形面积: {calculate_rectangle_area(length, width)}")
    
    # 计算三角形面积
    base, height = 7, 4
    print(f"底 {base} 高 {height} 的三角形面积: {calculate_triangle_area(base, height)}")
    
    # 计算斐波那契数列
    n = 10
    print(f"斐波那契数列第 {n} 项: {fibonacci(n)}")
    
    # 计算阶乘
    num = 5
    print(f"{num} 的阶乘: {factorial(num)}")
    
    # 检查素数
    num = 17
    print(f"{num} 是否为素数: {is_prime(num)}")
    
    # 计算平均值
    numbers = [1, 2, 3, 4, 5]
    print(f"列表 {numbers} 的平均值: {calculate_average(numbers)}")

输出会是这样:

半径为 5 的圆面积: 78.53975
长 10 宽 6 的矩形面积: 60
底 7 高 4 的三角形面积: 14.0
斐波那契数列第 10 项: 55
5 的阶乘: 120
17 是否为素数: True
列表 [1, 2, 3, 4, 5] 的平均值: 3.0

八、别怕犯错,多试试!

刚开始学函数的时候,我写出来的代码老出问题了。有时候参数传错了,有时候逻辑写反了。但是别怕!每次出错都是一次学习的机会。

比如我刚开始写 is_prime 函数的时候,忘记考虑负数的情况,结果一传负数进去,函数根本没法正常工作。后来我加了个判断,把负数的情况也考虑进去,问题就解决了。

还有一次,我写 factorial 函数的时候,忘记处理 0 的情况了。后来想起来,0 的阶乘其实是定义为 1 的,于是我把这种情况也加进去,函数就更完善了。

所以呢,别怕写错代码,犯错是学习过程中很重要的一部分。每次调试,都是对函数理解得更深的一次机会。

总结

函数就像是代码里的小帮手,能帮你把重复的工作自动化,还能让代码变得更有条理。刚开始学的时候可能有点难,但只要多写多练,慢慢就能上手了。

刚开始可以从简单的函数入手,比如上面那个加 1 的函数。然后再慢慢尝试写一些稍微复杂一点的,比如几何计算、数学问题求解之类的。

要是你在学习的过程中碰到了什么问题,比如函数的参数搞不清楚,或者返回值不是想要的结果,别急着放弃。先仔细检查一下代码,看看是不是哪里写错了。要是还是搞不定,就去网上搜搜看,或者问问别人。编程路上,大家都是这么一步一步走过来的。

对了,上面那些函数也别光看,自己动手敲一遍,改改参数,看看输出是不是符合预期。要是能自己再写几个类似的函数,那感觉就更棒啦!

你可能感兴趣的:(python,开发语言,青少年编程,visual,studio,code,学习方法)