python3.2.2 如何判断输入的字符串为数字,int或者float的,是要写正则表达式吗?

 我来答
东方书蝶丛唱
2019-08-31 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:799万
展开全部
你好!
给你个简单的方法,在2.7下好用↓
利用isinstance()函数,来判断一个对象是否是一个已知的类型:
lst
=
[]
isinstance(lst,
list)
True
isinstance(lst,
(int,
str,
list))
True
希望对你有所帮助,望采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
戈远源雅娴
2020-07-20 · TA获得超过4127个赞
知道大有可为答主
回答量:3113
采纳率:34%
帮助的人:221万
展开全部
不用写正则表达式也行的,介绍你两种方法
第一种:将变量转换为float型,如果能成功则是数字,如果抛出错误则不是数字。
代码如
def
isisnumber(a):
try:
float(a)
return
'is
number'
#能成功转换为浮点型,则是数字
except:
return
'not
number'
#不能成功转换为浮点型,则不是数字
==================================================
第二种:将要判断的每一位转换为ASCII码如果在48-57之间则是数字
代码如
def
isnumber(a):
t=0
for
i
in
range(0,len(a)):
if
ord(a[i])>57
or
ord(a[i])<48:
#转化为ascii码
判断每一位是否都为数字
if
a[i]
!=
'.'
or
t==1
:
#如果不是数字或第二次出现小数点,那么得到结果不是数字
return
'not
number'
elif
a[i]
==
'.':
#如果不是数字但是是小数点.那么做个标记,表示已出现过一次小数点
t=1
return
'is
number'
#如果完成全部循化,则是数字
==========================================
使用时,比如print(isnumber(x)),如果x为数字则会输出is
number
如果不是数字
则会输出not
number。
希望能对你有所帮助!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式