判断一个数字是否为正整数可以通过以下几种方式实现:
1.使用正则表达式判断
可以使用re模块中的match()
方法,结合正则表达式,判断一个字符串是否为正整数。以下是一个示例代码:
import re
def is_positive_integer(num):
if re.match(r'^[1-9]\d*$', str(num)):
return True
else:
return False
其中,^
表示字符串的开头,[1-9]
表示第一位是1-9中的任意一个数字,\d*
表示0个或多个数字,$
表示字符串的结尾。使用str()
将输入数字转换为字符串,避免传入float类型导致判断失败。
2.使用内置函数判断
可以通过内置函数isinstance()
和int()
,先判断输入对象是否为整数,再判断是否大于0。以下是一个示例代码:
def is_positive_integer(num):
if isinstance(num, int) and num > 0:
return True
else:
return False
其中,isinstance()
用于判断一个对象是否是某个类的实例,int()
用于将float等类型转换为整数。
在代码实现完成后,我们可以编写测试代码进行验证,如下所示:
print(is_positive_integer(10)) # True
print(is_positive_integer(0)) # False
print(is_positive_integer(-5)) # False
print(is_positive_integer(10.0)) # False
以上代码测试结果应该与注释一致。
至此,我们完成了Python函数判断是否为正整数的攻略。