#1\判斷小數
#1.92
#-1.988
def is_float(s):
'''
這個函數是用來判斷傳入的是否為小數,包括正小數和負小數三
:param s :傳入一個字符串
:return: True or False
'''
s = str(s)
if s.isdigit():
return False
else:
if s.count('.') ==1: #判斷小數點個數
sl = s.split('.') #分割字符串
left =sl[0] #小數點前面的
right = sl[1] #小數點后面的
if left.startswith('-') and left.count('-')==1 and right.isdigit():
lleft = left.split('-')[1] ##按照負號分割然后取負號后面的數
if lleft.isdigit():
return True #負小數
else:
return False
elif left.isdigit() and right.isdigit():
return True # 正小數
else:
return False
else:
return False
print('-1.8 is :',is_float('-1.8'))
print('-s.8 is :',is_float('-s.8'))
print('-.8 is :',is_float('-.8'))
print('.8 is :',is_float('.8'))
print('-. is :',is_float('-.'))
print('1.4. is :',is_float('1.4'))
運行結果如下:
-1.8 is : True
-s.8 is : False
-.8 is : False
.8 is : False
-. is : False
1.4. is : True