一、实验目的:
掌握函数定义语法
掌握函数调用的方法
掌握参数传递的方法
二、实验环境:
联网计算机一台/每人,内装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中使用条件语句来控制程序的流程。在实验中,可能会遇到用户输入错误的情况。通过添加错误处理逻辑,如检查输入是否为字符串、是否为空等,将学会如何编写健壮的代码,以处理各种可能的输入错误。
📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!
❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊
💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!
🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈