【Python学习篇】Python实验小练习——函数(十)

简介: 【Python学习篇】Python实验小练习——函数(十)

一、实验目的:

       掌握函数定义语法

       掌握函数调用的方法

       掌握参数传递的方法

二、实验环境:

       联网计算机一台/每人,内装Windows 7以上操作系统和安装Python 3.7集成开发环境IDLE。

三、实验内容:

       1.  计算两个数的最大公约数

       2.  求斐波那契数列

       3.  求n!

       4.  生活垃圾一般可以分为四类:可回收垃圾、厨余垃圾、有害垃圾和其它垃圾。根据用户多要丢弃的垃圾了,告诉用户这是上面类型的垃圾,需要放入到哪个颜色的垃圾桶。

四、实验步骤与结果

1. 新建文件夹并命名为学号-姓名-实验。

2. 安装 Python 解释器Python 3.7 集成开发环境IDLE,并进入IDLE。

3. 依次输入自己编好的程序实验内容1-5的源程序,分别命名为sy1_1.py - sy1_5.py 并保存至已建好的文件夹中。

4. 检查已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时改正。

5. 运行程序并分析运行结果是否合理。在运行时要注意当输入不同的数据时所得结果是否正确,应测试两组以上数据,分别检查在不同情况下结果是否正确。

                                 列出1-5题源程序清单并记录上机运行结果。

       1.  计算两个数的最大公约数

       源代码:

def gcd(a, b):
    while b:
        a, b = b, a % b
    return a
 
# 示例使用
num1 = 48
num2 = 18
result = gcd(num1, num2)
print(f"The GCD of {num1} and {num2} is {result}")

       运行效果:

       2.  求斐波那契数列

       源代码:

def fibonacci(n):
    if n <= 0:
        return []
    elif n == 1:
        return [0]
    elif n == 2:
        return [0, 1]
    else:
        fib_sequence = [0, 1]
        for i in range(2, n):
            next_number = fib_sequence[i-1] + fib_sequence[i-2]
            fib_sequence.append(next_number)
        return fib_sequence
 
# 示例使用
n = 10
result = fibonacci(n)
print(f"The first {n} numbers in the Fibonacci sequence are: {result}")

       运行效果:

       3.  求n!

       源代码:

def factorial(n):
    if n == 0:
        return 1
    else:
        result = 1
        for i in range(1, n + 1):
            result *= i
        return result
 
# 示例使用
n = 5
result = factorial(n)
print(f"{n}! = {result}")

       运行效果:

       4.  生活垃圾一般可以分为四类:可回收垃圾、厨余垃圾、有害垃圾和其它垃圾。根据用户多要丢弃的垃圾了,告诉用户这是上面类型的垃圾,需要放入到哪个颜色的垃圾桶。        

       源代码:

def classify_garbage(garbage_type):
    # 定义垃圾类型与垃圾桶颜色的映射
    garbage_mapping = {
        "可回收垃圾": "蓝色",
        "厨余垃圾": "绿色",
        "有害垃圾": "红色",
        "其它垃圾": "灰色"
    }
    
    # 检查输入的垃圾类型是否在映射中
    if garbage_type in garbage_mapping:
        return f"{garbage_type}应该放入{garbage_mapping[garbage_type]}垃圾桶"
    else:
        return "抱歉,无法确定垃圾类型,请检查输入是否正确。"
 
# 示例使用
garbage = input("请输入要丢弃的垃圾类型:")
result = classify_garbage(garbage)
print(result)

       运行效果:

五、总结:

1.实验过程中的问题及解决方法:

问题:

       用户可能输入了不在预定义映射中的垃圾类型,或者输入了不明确或错误的名称。

解决方法:

       可以在函数中添加更多的错误处理逻辑,例如提示用户输入的垃圾类型不明确,并提供一个列表供用户选择正确的垃圾类型。

问题:

       如果函数被调用时传入的不是字符串类型,而是其他类型(如整数或None),代码可能会出错。

解决方法:

       在函数开始处添加类型检查,确保输入是字符串类型。如果不是,可以返回一个错误信息或尝试将输入转换为字符串。

问题:

       用户可能没有输入任何内容,或者输入了一个空白字符串。

解决方法:在处理输入之前,检查输入是否为空或空白字符串,并相应地提示用户。

2.实验收获:

        通过创建和使用函数 classify_garbage,将学会如何定义一个函数,以及如何将代码模块化,使其更加清晰和易于维护。 字典是Python中用于存储键值对的数据结构。在这个例子中,字典 garbage_mapping 用于存储垃圾类型和垃圾桶颜色的对应关系。通过这个实验,将学会如何创建、访问和使用字典。

       代码中的条件语句(如 if 和 else)用于根据不同的条件执行不同的操作。这个实验将帮助理解如何在Python中使用条件语句来控制程序的流程。在实验中,可能会遇到用户输入错误的情况。通过添加错误处理逻辑,如检查输入是否为字符串、是否为空等,将学会如何编写健壮的代码,以处理各种可能的输入错误。

📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!

❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊

💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!

🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈

目录
相关文章
|
5天前
|
PHP Python
Python format()函数高级字符串格式化详解
在 Python 中,字符串格式化是一个重要的主题,format() 函数作为一种灵活且强大的字符串格式化方法,被广泛应用。format() 函数不仅能实现基本的插入变量,还支持更多高级的格式化功能,包括数字格式、对齐、填充、日期时间格式、嵌套字段等。 今天我们将深入解析 format() 函数的高级用法,帮助你在实际编程中更高效地处理字符串格式化。
51 0
|
2月前
|
安全 数据安全/隐私保护 Python
Python学习的自我理解和想法(27)
本文记录了学习Python第27天的内容,主要介绍了使用Python操作PPTX和PDF的技巧。其中包括通过`python-pptx`库创建PPTX文件的详细步骤,如创建幻灯片对象、选择母版布局、编辑标题与副标题、添加文本框和图片,以及保存文件。此外,还讲解了如何利用`PyPDF2`库为PDF文件加密,涵盖安装库、定义函数、读取文件、设置密码及保存加密文件的过程。文章总结了Python在处理文档时的强大功能,并表达了对读者应用这些技能的期待。
|
12天前
|
算法 IDE 测试技术
python学习需要注意的事项
python学习需要注意的事项
132 57
|
3天前
|
JSON 数据安全/隐私保护 数据格式
拼多多批量下单软件,拼多多无限账号下单软件,python框架仅供学习参考
完整的拼多多自动化下单框架,包含登录、搜索商品、获取商品列表、下单等功能。
|
2天前
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
25天前
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...
|
2月前
|
存储 搜索推荐 算法
Python学习的自我理解和想法(28)
本文记录了学习Python第28天的内容——冒泡排序。通过B站千锋教育课程学习,非原创代码。文章详细介绍了冒泡排序的起源、概念、工作原理及多种Python实现方式(普通版、进阶版1和进阶版2)。同时分析了其时间复杂度(最坏、最好、平均情况)与空间复杂度,并探讨了实际应用场景(如小规模数据排序、教学示例)及局限性(如效率低下、不适用于高实时性场景)。最后总结了冒泡排序的意义及其对初学者的重要性。
|
2月前
|
Python
Python学习的自我理解和想法(26)
这是一篇关于使用Python操作Word文档的学习总结,基于B站千锋教育课程内容编写。主要介绍了通过`python-docx`库在Word中插入列表(有序与无序)、表格,以及读取docx文件的方法。详细展示了代码示例与结果,涵盖创建文档对象、添加数据、设置样式、保存文件等步骤。虽为开学后时间有限下的简要记录,但仍清晰梳理了核心知识点,有助于初学者掌握自动化办公技巧。不足之处欢迎指正!
|
1月前
|
API Python
Python 的内建函数
Python 的内置函数列表,方便查询使用方法。
|
1月前
|
数据采集 自然语言处理 搜索推荐
Python内置函数ord()详解
`ord()` 是 Python 中用于将单个字符转换为对应 Unicode 码点的核心函数,支持 ASCII、多语言字符及特殊符号。其返回值为整数(范围 0-1114111),适用于字符编码验证、数据清洗、自定义排序、基础加解密等场景。使用时需注意参数长度必须为 1,否则会触发 `TypeError`。结合 `chr()` 函数可实现双向转换,进阶技巧包括多字节字符处理、编码范围检测及字符分类验证等。

热门文章

最新文章

推荐镜像

更多