Python编程:函数与代码复用,奇数判断与质数检测
在第五章的Python课程中,主要讨论了函数和代码复用的重要性,以及如何编写实用的函数来提高编程效率。以下是本章中的关键知识点: 1. **isOdd()函数**: - 该函数用于判断给定的整数`num`是否为奇数。函数定义如下: ```python def isOdd(num): ''' 判断num数字是否是奇数,若是返回True,否则返回False ''' if num % 2 == 1: return True else: return False ``` - 函数通过检查输入整数除以2的余数,如果余数为1,则表示是奇数,返回True;否则返回False。 2. **isNum()函数**: - 用于验证一个字符串`num`是否能表示整数、浮点数或复数。实现方法包括: - 首先检查`num`是否全由数字字符组成,使用`isnumeric()`函数判断; - 如果不满足全由数字组成,进一步检查字符串中每个字符出现的次数是否相同(即无重复),因为复数通常包含两个相等的数字部分,如'3+3j',可以认为它是由两个相同的'3'组成的。 ```python def isNum(num): ... # 判断是否为复数的一种方法 elif len(num) == len(set(num)): return True else: return False ``` - 函数会提示用户输入一个字符串,并根据上述逻辑进行判断。 3. **multi()函数**: - 接受任意数量的数字作为参数,计算它们的乘积。函数使用循环逐个相乘,最后返回结果: ```python def multi(nums): m = 1 for i in nums: m = m * i return m ``` - 示例中通过`input`获取用户输入的数字序列,然后转换为整数列表并调用`multi()`函数计算乘积。 4. **isPrime()函数**: - 用于判断一个整数`num`是否为质数,提供了异常处理: - 特殊情况处理1和2的质数性; - 使用循环遍历3到`num-1`的范围,如果`num`能被任何数整除,那么它不是质数,返回False。 ```python def isPrime(num): ... elif num == 1: return False elif num == 2 or num == 3: return True else: for i in range(3, num): if (num % i == 0): return False return True ``` - 函数确保了对1和2的特殊处理,并且在执行效率上优化了对大数的检查。 5. **switFunction()函数**: - 作为主控制函数,用于根据用户输入调用相应的功能(isOdd()、isNum()或isPrime()),并输出结果。这部分没有给出具体的实现,但可以想象它是一个用户界面或者菜单,根据用户的选择执行相应的判断功能。 通过这些函数,学生能够掌握Python中的基本逻辑结构、条件判断、输入输出以及函数的复用,这些都是构建复杂程序的基础。
![](https://csdnimg.cn/release/download_crawler_static/86309894/bg1.jpg)
下载后可阅读完整内容,剩余6页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/ee28af363b424efcadfe8a0cdc793e7c_weixin_35797900.jpg!1)
- 粉丝: 21
- 资源: 334
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)