判断Python输入是否是整数,字符,或浮点数
Python中定义了string的一些内建方法,可以判断字符串的组成元素。
如果 string 至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
|
如果 string 至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
|
如果 string 只包含十进制数字则返回 True 否则返回 False. |
|
如果 string 只包含数字则返回 True 否则返回 False. |
|
如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
|
如果 string 中只包含数字字符,则返回 True,否则返回 False |
|
如果 string 中只包含空格,则返回 True,否则返回 False. |
|
如果 string 是标题化的(见 title())则返回 True,否则返回 False |
|
如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
但是对于浮点数来说并没有对应的方法,可以尝试通过异常处理来判断:
str = raw_input("please input the number:") try: f = float(str) except ValueError: print("input is not a float!")
另外还可通过正则表达式来判断:
import re #引用re正则模块 float_number = str(input("Please input the number:")) value = re.compile(r'^[-+]?[0-9]+\.[0-9]+$') # 定义正则表达式 result = value.match(float_number) if result: print "Number is a float." else: print "Number is not a float."
^[-+]?[0-9]+\.[0-9]+$
^表示以后面这个字符开头,也就是以[-+]开头,[-+]表示字符-或者+之一,?表示0个或1个,也就是说符号-和+是可选的。
[0-9]表示0到9的一个数字,+表示1个或多个,也就是整数部分一个或多个数字。
\.表示的是小数点,\是转义字符因为.是特殊符号,所以需要转义。
小数部分同理,$表示字符串以前面的字符结尾,即小数部分一个或多个数字,并以数字结尾。