表示数值的字符串

2018-09-01  本文已影响0人  小歪与大白兔

题目描述
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
思路:
A.BeC

# -*- coding:utf-8 -*-
class Solution:
    # s字符串
    def isNumeric(self, s):
        # write code here
        isdot = True
        ise = True
        if len(s)==0:
            return False
        for i in range(len(s)):
            if s[i] in '+-' and (i==0 or s[i-1] in 'eE'):
                continue
            elif s[i] in '.' and isdot:
                isdot = False
                #判断小数点后面是否跟的数字
                if i>=len(s)-1 or s[i+1] not in '012346789':
                    return False
            elif s[i] in 'Ee' and ise:
                ise = False
                isdot = False
                if i>=len(s)-1 or s[i+1] not in '-+012346789':
                    return False
            elif s[i] not in '0123456789':
                return False
        return True

s = Solution()
print s.isNumeric("12e+5.4")
上一篇下一篇

猜你喜欢

热点阅读