python用正则表达式判断字符串,python如何判断输入的是数字还是字符串
在打字符串的时候,我们可以自己判断!
一:我们把输入的数字当作程序中的字符串。
导入转载(我现在要写一个文件号猜游戏号游戏:)temp=input(请输入一个数字。猜对了就有奖。如果你猜错了,没关系:)guess=str(temp)while guess!=8: temp=input(我还没猜到,继续猜不放弃:)guess=str(temp)if guess== 8 :print(你猜到了!否则:如果猜“8”:打印(“猜数字!”Else: print(数字被猜小)2:使用isdigit()的方法
Str=input(请输入一个数字:)if str.isdigit(): print(顺便说一下,你输入了一个数字)else: print(你输入了一个数字以外的数字)III:计算长度的两种方法
首先用str函数把数字转换成字符串,然后用len函数判断位长。
A=int (raw _ input(你要键入的数字:)b=len (str (a)) print b第二种:除数判断
c=0 a=int(raw_input(要键入的数字:))而a!=0: a=a/10 c=1 print c IV:收到raw_input方法后,判断收到的字符串是否为数字。
例如:
str=raw_input("请输入数字:")
if str.isdigit():
True表示输入的所有字符都是数字,否则,并非所有字符都是数字。
Str是一个字符串
Str.isalnum()所有字符都是数字或字母。
Str.isalpha()所有字符都是字母。
Str.isdigit()所有字符都是数字。
Str.islower()所有字符都是小写。
Str.isupper()所有字符都是大写的。
Str.istitle()所有的单词都是大写的,就像标题一样。
所有字符都是空白,\t,\n,\r
以上主要针对整数,不适用于浮点数。那么如何判断浮点数呢?我一直在纠结这个问题。为什么我要区分整数和浮点数?既然都参与运算,那么适用的浮点数不都一样吗?得到结果后直接转换成int不也一样吗?为什么我前期要纠结判断是整数还是浮点数?有了这个想法,下面就很容易做到,例如:
我们可以通过异常来判断,异常的语法如下:
尝试:
{语句}
异常:{异常对象}
{语句}
str=raw_input("请输入数字:")
尝试:
f=浮点型(str)
异常值错误:
Print("输入的不是数字!")
==========================================================
还有一种纯粹的判断是否是浮点数的方法,使用正则表达式:
引用re正则模块
进口re
float_number=str(input("请输入数字:"))
调用正则
价值=re.compile(r^[- ]?[0-9] \.[0-9]$ )result=value . match(float _ number)if result:print number是浮点数Else: print number不是浮点数。关于这个正则表达式,解释:[-]?[0-9] .[0-9] $
表示以这个字符开头,即以[-]开头,[-]表示其中一个字符-or,
?0或1,这意味着符号是可选的。
类似地[0-9]代表一个从0到9的数,代表一个或多个,即整数部分。表示小数点,\是一个转义字符,因为。是一个特殊符号(匹配除\r\n以外的任何单个字符),
所以需要逃离。
同理,$表示字符串到此结束。
规律性也用得不多。如有错误,请指正。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。