Python中判断输入是否为数字的实现代码

yipeiwu_com5年前Python基础

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

例如:

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正则模块

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。

例如:

s = 'I LOVE YOU' 
s.isupper() 
True

这篇文章就介绍到这了,希望大家以后多多支持【听图阁-专注于Python设计】。

相关文章

pandas DataFrame数据转为list的方法

首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list,示例代码如下: # -*- co...

基于Django contrib Comments 评论模块(详解)

老版本的Django中自带一个评论框架。但是从1.6版本后,该框架独立出去了,也就是本文的评论插件。 这个插件可给models附加评论,因此常被用于为博客文章、图片、书籍章节或其它任何东...

Python中对元组和列表按条件进行排序的方法示例

在python中对一个元组排序 我的同事Axel Hecht 给我展示了一些我所不知道的关于python排序的东西。 在python里你可以对一个元组进行排序。例子是最好的说明: &...

Python3 sys.argv[ ]用法详解

Python3 sys.argv[ ]用法详解

sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作...

Python基于pygame实现的弹力球效果(附源码)

Python基于pygame实现的弹力球效果(附源码)

本文实例讲述了Python基于pygame实现的弹力球效果。分享给大家供大家参考,具体如下: 运行效果: 代码部分如下: #A bouncing ball import sys,...