例:实现isOdd函数,参数为整数,如果整数为奇数,返回True,否则返回False
def isOdd(*num):#定义一个可变参数
num = int(input("请输入一个数字:"))#将输入的参数强制转换为整型
if num%2 == 0:#对num取余,若为0,则该数为偶数
return False
else:#如果取余的结果不为0,则该数为奇数
return True
isOdd()
例:实现isNum()函数,参数为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回True,否则返回False
def isNum(*num):#定义一个可变参数
try:
num = eval(input("请输入一个数字:"))#eval()能够以Python表达式的方式解析并执行字符串
#使用type()判断输入是否为整数、浮点数或复数类型
if type(num)==int or type(num)==float or type(num)==complex:
print(True)#如果是整数、浮点数或复数类型,打印True
else:
print(False)#如果不是整数、浮点数或复数类型,打印False
except NameError:#对不是整数、浮点数或复数类型的输入数据进行错误警告
print("False 你输入的不是整数、浮点数或复数,请重新输入!")
isNum()#isNum()函数在其定义内部使用了自身,形成了递归过程
isNum()
例:实现multi函数,参数个数不限,返回所有函数乘积
def multi(*a):#定义一个可变数量参数,满足题目中"参数个数不限"的要求
try:
multiply = 1#将连乘的初始值赋值为1,若为连加赋值为0
a = input("请输入你想要连乘的数(把这些数用一个空格隔开):")#强调"一个空格"方便split()函数的切分
for item in a.split():#遍历a中的所有元素
multiply *= int(item) #对item中的元素进行强制类型转换
print("你输入的所有的数的乘积是:{}".format(multiply))#使用format()对multiply进行格式化处理
except ValueError:#因为在try语句块中对输入进行了强制类型转换,所以此处错误类型为ValueError
print("你输入的不是整数,请重新输入!")#对不是简单数值类型的输入数据进行错误警告
multi()#multi()函数在其定义内部使用了自身,形成了递归过程
multi()
例:实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,则返回True,否则返回False
def isPrime(*num):#输入一个可变参数
try:#用try except进行异常处理
num = int(input("请输入一个数字:"))#把输入参数转换强制转换为整数
if num > 1:#首先对大于1的整数进行判断
for i in (2, num):#检验num是否存在因子
if num%i == 0:#如果存在因子,那么这不是一个质数
print("False 这不是一个质数")
break#用break终止循环
else:#如果不存在因子,那么这是一个质数
print("True 这是一个质数")
break#用break终止循环
else:#若一个整数小于等于1,那么它一定不是一个质数
print("False 这不是一个质数")
except ValueError:#对不是整数类型的输入数据进行错误警告
print("你输入的不是一个整数,请重新输入!")
isPrime()#isPrime()函数在其定义内部使用了自身,形成了递归过程
isPrime()
例题来自《Python语言程序设计基础(第二版)》崇天等 著——程序练习题5.2、5.3、5.4、5.5
关于文章内容若有疑问,批评指正的建议或优化方法,欢迎私信或在文章下方回帖😊
七月从今天开启Python学习之路,专栏将会间断更新,欢迎关注,和七月一起进步
创建这个专栏的初衷和目的:
1.关于代码段的不足之处合理采纳大家的建议,督促自己的学习及反思
2.和初学Python的小白们交流讨论学习路上的困惑与学习的tips,和大家共同进步
文末给学习Python的小白推荐一个系列教程,真的超级有用,我之前看的就是这个,老师讲课思路清晰,真的适合零基础入门~,良心推荐!
B站 北邮《Python编程与实践》课程(2020):北邮《Python编程与实践》课程 (2020)_哔哩哔哩_bilibili