python判断input输入的是否为数字_Python 中判断输入是否为数字的实现代码

在接收 raw_input 方法后,判断接收到的字符串是否为数字

例如:

1

2

str = raw_input("please input the number:")

if str.isdigit():

为 True 表示输入的所有字符都是数字,否则,不是全部为数字

str 为字符串 str.isalnum () 所有字符都是数字或者字母 str.isalpha () 所有字符都是字母 str.isdigit () 所有字符都是数字 str.islower () 所有字符都是小写 str.isupper () 所有字符都是大写 str.istitle () 所有单词都是首字母大写,像标题 str.isspace () 所有字符都是空白字符、\t、\n、\r

上述的主要是针对整型的数字,但是对于浮点数来说就不适用了,那么浮点数怎么判断呢,一直在纠结这个问题,为什么非要区分整型和浮点数呢,既然都是参与运算的,全部适用浮点数不是一样吗,在得到结果后,直接转换为 int 型不是一样吗,为什么非要纠结在前期去判断是否整型或者浮点数呢,有了这样的思路,下面就好做了,例如:

我们可以通过异常来判断,异常语法如下:

try: {statements} exception: {Exception Objects} {statements}

str = raw_input("please input the number:")

try: f = float (str) exception ValueError: print ("输入的不是数字!")

还有一种纯粹判断是否为浮点数的方法,使用正则表达式:

1.# 引用 re 正则模块

1

2

3

4

5

6

7

8

9

import 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."

2. 关于这个正则表达式,解释一下:

^[-+]?[0-9]+\.[0-9]+$

^ 表示以这个字符开头,也就是以 [-+] 开头,[-+] 表示字符 - 或者 + 之一,

? 表示 0 个或 1 个,也就是说符号是可选的。

同理 [0-9] 表示 0 到 9 的一个数字,+ 表示 1 个或多个,也就是整数部分。

\. 表示的是小数点,\ 是转义字符因为。是特殊符号(匹配任意单个除 \r\n 之外的字符),

所以需要转义。

小数部分同理,$ 表示字符串以此结尾。

判断输入是否全为数字、字符等

s 为字符串

s.isalnum () 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。

s.isalpha () 所有字符都是字母,为真返回 Ture,否则返回 False。

s.isdigit () 所有字符都是数字,为真返回 Ture,否则返回 False。

s.islower () 所有字符都是小写,为真返回 Ture,否则返回 False。

s.isupper () 所有字符都是大写,为真返回 Ture,否则返回 False。

s.istitle () 所有单词都是首字母大写,为真返回 Ture,否则返回 False。

s.isspace () 所有字符都是空白字符,为真返回 Ture,否则返回 False。

例如:

1

2

3

s= 'I LOVE YOU'

s.isupper()

True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值