题目描述
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。
摸清规则,照着规则一条一条写就好了。
# -*- coding:utf-8 -*-
class Solution:
# s字符串
def isNumeric(self, s):
# write code here
numflag=False#标记小数点是否出现
flag=False#标记e是否出现
for i in range(len(s)):
if s[i]=='.':
if numflag==True:
return False
numflag=True
if flag==True:
return False
elif s[i]=='e' or s[i]=='E':
if i==len(s)-1:
return False
if flag==False:
flag=True
else:
return False
elif s[i]=='+'or s[i]=='-':
if i==0:
pass
elif s[i-1]!='E' and s[i-1]!='e' and i>0:
return False
elif s[i]<'0' or s[i]>'9':
return False
return True