力扣:65. 有效数字(Python3)

题目:

有效数字(按顺序)可以分成以下几个部分:

  1. 一个 小数 或者 整数
  2. (可选)一个 'e' 或 'E' ,后面跟着一个 整数

小数(按顺序)可以分成以下几个部分:

  1. (可选)一个符号字符('+' 或 '-'
  2. 下述格式之一:
    1. 至少一位数字,后面跟着一个点 '.'
    2. 至少一位数字,后面跟着一个点 '.' ,后面再跟着至少一位数字
    3. 一个点 '.' ,后面跟着至少一位数字

整数(按顺序)可以分成以下几个部分:

  1. (可选)一个符号字符('+' 或 '-'
  2. 至少一位数字

部分有效数字列举如下:["2", "0089", "-0.1", "+3.14", "4.", "-.9", "2e10", "-90E3", "3e+7", "+6e-1", "53.5e93", "-123.456e789"]

部分无效数字列举如下:["abc", "1a", "1e", "e3", "99e2.5", "--6", "-+3", "95a54e53"]

给你一个字符串 s ,如果 s 是一个 有效数字 ,请返回 true 。

来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:s = "0"
输出:true


示例 2:

输入:s = "e"
输出:false


示例 3:

输入:s = "."
输出:false

解法:

使用float函数,如果能转成浮点型说明是有效数字,否则会报错,但是要拍出特殊情况,如‘inf’‘nan’之类。

知识点:

1.str.lower():将字符串中的所有大写字母转换为小写字母,返回字符串。

2.float(object)将十进制整数、十进制浮点数字符串或布尔值转化为十进制浮点数,返回浮点数。object是待转化成浮点数的对象,可省略,省略时返回0.0。当非十进制的字符串作为参数时,超出数字字符时会报ValueError错。

3.try+except:使用格式如下。在执行try中内容时如果报错,就会去except部分,except可以设置不同种类的报错。如果不报错,except不会执行。

try:

        xxx

except xxxError:

        xxx

代码:

class Solution:
    def isNumber(self, s: str) -> bool:
        try:
            if 'n' in s.lower():
                return False
            float(s)
            return True
        except ValueError:
            return False

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值