剑指Offer 20.表示数值的字符串(Python)

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。
数值(按顺序)可以分成以下几个部分:

  若干空格
    一个 小数 或者 整数
    (可选)一个 'e''E' ,后面跟着一个 整数
    若干空格

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

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

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

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

部分数值列举如下:
["+100", “5e2”, “-123”, “3.1416”, “-1E-16”, “0123”]
部分非数值列举如下:
[“12e”, “1a3.14”, “1.2.3”, “±5”, “12e+5.4”]

# 示例1:
输入:s = "0"
输出:true

# 示例2:
输入:s = "e"
输出:false

# 示例3:
输入:s = "."
输出:false

# 示例4:
输入:s = "     .1    "
输出:true
抖个机灵
def isNumber(s):
	try:
		float(s)
		return True
	except ValueError:
		return False

if __name__ == "__main__":
	s = input("请输入:")
	result = isNumber(s)
	print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值