• Python编程基础:实验5——函数定义与调用


    Python编程基础:实验5——函数定义与调用

    一、前言

    在前面我们刚学习了函数的有关知识,本期博客我们就来趁热打铁,开始有关函数定义与调用相关练习,后续还有一个有关函数的实验练习。

    注意:代码仅供参考,还请大家多多思考!

    二、我的环境

    • 电脑系统:Windows 11
    • 语言版本:Python 3.10.4
    • 编译器:VSCode

    三、实验目的与要求

    1. 掌握函数的定义和使用,函数是一组表达特定功能代码行的封装,能够接收输入并返回处理结果。自定义函数需要用def关键字,自定义函数不能直接运行,必须通过调用函数才能运行。
    2. 理解形参、实参和函数返回值概念,理解函数的参数传递过程,熟练掌握按位置和名称进行参数传递,理解多种不同的形式参数(可选参数、可变数量参数),能根据具体需要选择参数传递形式及函数返回值形式。
    3. 理解变量的作用域概念,掌握局部变量和全局变量的使用方法,能根据具体需要选择使用。

    四、实验任务

    1、程序填空

    【填空7-1】以下程序可以对键盘输入的数进行判断,如果是质数显示True,不是质数显示False,请在代码中横线处补充。

    其中math.floor()方法作用是将数字x向下舍入到最接近的整数。

    math.sqrt()方法作用是返回数字x的平方根。

    import math
    def isPrime(num):
        try:
            if type(num) == type(0.):
                raise TypeError
            r = int(math.floor(math.sqrt(num)))
        except TypeError:
            print('不是一个有效整数')
            return None    # 如果不是有效的整数,返回None
        if num == 1:
            return False    # 1不是整数,返回False
        for i in range(2, r + 1):
            if num % i == 0:    # 判断一个数是否能被某数整除
                return False
            return True
    def main():
        x = eval(input("请输入:"))
        print(isPrime(x))
    main()
    '
    运行

    它运行的结果是:

    请输入:5
    True
    

    【填空7-2】编写程序,根据给定的折扣率,计算打折后的实际应付金额。请在代码中横线处补充。

    def fun(discount):
        global price
        price = price * discount
        
    price = eval(input("请输入打折前的金额:"))     # price是全局变量
    fun(0.8)
    print("打折后的金额:", price)
    '
    运行

    它运行的结果是:

    请输入打折前的金额:100
    打折后的金额: 80.0
    

    2、程序编程

    【编程7-1】排序算法

    排序算法是一类经典算法,包括了多种不同的排序方法,冒泡排序法是最基本的一种。编写函数实现冒泡排序算法,主程序提供初始数据、调用排序函数、输出排序后数据。

    def bubble_sort(array):
        for i in range(1, len(array)):
            for j in range(0, len(array) - i):
                if array[j] > array[j + 1]:
                    array[j], array[j + 1] = array[j + 1], array[j]
        return array
     
     
    if __name__ == '__main__':
        array = [10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21]
        print(bubble_sort(array))
    '
    运行

    它运行的结果是:

    [5, 7, 10, 15, 17, 21, 24, 27, 30, 36, 45, 50]
    '
    运行

    五、最后我想说

    有关函数定义与调用实验就到这里结束了,内容比较少,下一个实验就是函数的递归实验,后面我也会及时更新的,本期实验最后的冒泡排序实现过程需要重点看看,是常考点也是经常会用到的排序算法之一。

    Python函数的运用很重要,大家还可以去刷一下其他的题目来继续巩固一下基础知识。

  • 相关阅读:
    JAVA面经整理(5)
    C++面向对象OOP-友元与运算符重载
    羧甲基荧光素6-FAM修饰聚缩醛Polyacetal/HA透明质酸纳米载体6-FAM-Polyacetal|6-FAM-HA(齐岳)
    【脑机接口论文与代码】 基于自适应FBCCA的脑机接口控制机械臂
    七星创客商业模式:享受优惠价格和丰厚奖励的新选择!
    Pytorch实战 | 第P2周:彩色图片识别
    Scheduled定时任务
    从一道ctf题学习LD_PRELOAD绕过函数禁用
    教你VSCode如何快速对齐代码、格式化代码
    Xshell导入导出会话
  • 原文地址:https://blog.csdn.net/qq_52417436/article/details/127115906