python如何判断输入是字符串还是数字

2024-11-16 15:18:53
推荐回答(3个)
回答1:

说明:
python输入的内容在内部全部为字符串,所以要判断这个字符串是否为一个数字。大多法内部函数并不能对各种形式的数据做出正确判断,例如isdigit()函数只能判断字符串是否为纯数据组成对于负数则无效了。所以可以使用float()来检测,对各种数字的表示方法都有效果。

方法代码:
#定义函数

def isnub(s):
try:
nb = float(s) #将字符串转换成数字成功则返回True
return True
except ValueError as e:
return False #如果出现异常则返回False
#测试
print(isnub('123'))
print(isnub('abc'))
print(isnub('123.123'))
print(isnub('-123.123'))

print(isnub('-1.609E-19'))
测试结果如下:
True
False
True
True
True

回答2:

s=input("please inupt string") print(s.isdigit()) #用isdigit函数判断是否数字 print(s.isalpha()) #isalpha判断是否字母 print(not (s.isalpha() or s.isdigit()) and s.isalnum()) #isalnum判断是否数字和字母的组合

回答3:

def isnum(n):
try:
t=float(n)
return True
except:
return False

print(isnum('123'))
print(isnum('12.3'))
print(isnum('abc'))