在使用字符序列isdigt函数时,我们会发现它无法判断负数,如:
a=['2','-3',-4,5]
print(a[0].isdigit())
print(a[1].isdigit())
输出:
True
False
可以看到,isdigt函数虽然可以识别字符串中的自然数,但是无法识别带负号的负数,为了能够判断负数,可以采用如下的方法:
a=['-2','-hh',-4,5]
print(a[0].isdigit())
print(a[1].isdigit())
def digital(a):
if(a[0]=='-' and a[1:].isdigit() or a.isdigit()):
return True
else:
return False
print(digital(a[0]))
print(digital(a[1]))
True
False
可以看到,我们对于isdigit函数进行了改进,单独判断了字符是否以负号开头,如果以负号开头则判断其余位置是否为数字,并与原本的isdigit对正数的判断进行合并,达到了我们需要的判断正负数的目的。