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

yipeiwu_com6年前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设计】。

相关文章

Python下应用opencv 实现人脸检测功能

Python下应用opencv 实现人脸检测功能

使用OpenCV's Haar cascades作为人脸检测,因为他做好了库,我们只管使用。 代码简单,除去注释,总共有效代码只有10多行。 所谓库就是一个检测人脸的xml 文件,可以网...

Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例

本文实例讲述了Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能。分享给大家供大家参考,具体如下: 因为需要使用叶子节点的路径来作为特征,但是原始的lxml...

windows安装TensorFlow和Keras遇到的问题及其解决方法

windows安装TensorFlow和Keras遇到的问题及其解决方法

  安装TensorFlow在Windows上,真是让我心力交瘁,想死的心都有了,在Windows上做开发真的让人发狂。   首先说一下我的经历,本来也就是起初,网上说python3.7...

跟老齐学Python之大话题小函数(2)

跟老齐学Python之大话题小函数(2)

上一讲和本讲的标题是“大话题小函数”,所谓大话题,就是这些函数如果溯源,都会找到听起来更高大上的东西。这种思维方式绝对我坚定地继承了中华民族的优良传统的。自从天朝的臣民看到英国人开始踢足...

Python使用Django实现博客系统完整版

Python使用Django实现博客系统完整版

今天花了一些时间搭了一个博客系统,虽然并没有相关于界面的美化,但是发布是没问题的。 开发环境 操作系统:windows 7 64位 Django: 1.96 Python:2.7.1...