Ganha a oferta - uma string representando um número

título Descrição

função utilizada para determinar se uma cadeia representa um valor (incluindo a parte inteira e fraccionada) implementar. Por exemplo, a string "100", "5E2", "- 123", "3.1416" e "-1E-16" mostra o valor. Mas "12e", "1a3.14", "1.2.3", "+ - 5" e "12e + 4.3" nenhum dos dois.

pensamento

Este nada a dizer, preste atenção para a fronteira como

class Solution:
    def isNumeric(self, s):
        if len(s) == 0:
            return False
        point = False
        nums = []
        for c in s:
            if c =="+" or c=="-":
                if len(nums)!=0 and (nums[-1]!="E" and nums[-1]!="e"):
                    return False
                else:
                    nums.append(c)
            elif c == "e" or c == "E":
                if len(nums)==0:
                    return False
                elif ord(nums[-1]) > ord('9') or ord(nums[-1])<ord('0'):
                    return False
                else:
                    nums.append(c)
                    point = True
            elif c == '.':
                if point or len(nums) == 0:
                    return False
                else:
                    point = True
                    nums.append(c)
            elif c >'9' or c< '0':
                return False
            else:
                nums.append(c)
            
        if nums[-1] in ["e",'E','.','+',"-"]:
            return False
        return True

 

Publicado 82 artigos originais · ganhou elogios 2 · Vistas 4346

Acho que você gosta

Origin blog.csdn.net/qq_22498427/article/details/104978896
Recomendado
Clasificación