python判断输入值是否为数字和字母,python如何判断输入的值是否是数字
Python有自己的函数isdigit,可以返回一个字符串是否为数字。返回True如果是数字;否则,返回False。str1=1
print(str1.isdigit())
str2=1.1
print(str2.isdigit())
str3=-1
print(str3.isdigit())
str4=a
print(str4.isdigit())
它的运行结果是:真
错误的
错误的
错误的
可以看到,isdigit函数只能区分正整数,对小数和负数的判断存在误差。
下面是一个可以正确区分小数和负数的函数:def is_number(s):
Try: #如果可以运行float(s)语句,则返回True(字符串s是浮点数)
浮动
返回True
除了ValueError: # ValueError是Python的一个标准异常,意思是‘传入的参数无效’。
Pass #如果抛出类似ValueError的异常,什么都不做(Pass:什么都不做,通常用作占位符语句)
尝试:
处理ASCii代码的Unicode数据#包
Unicodedata.numeric(s) #将代表数字的字符串转换为浮点数的函数。
返回True
except (TypeError,ValueError):
及格
返回False
令人惊奇的是,由于is_number中使用了函数unicodedata.numeric,我们现在可以区分汉字表示的数字,并测试汉字八:str5=八
print(is_number(str5))
结果是:真的。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。