判断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("输入的不是数字!")

==========================================================

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

#引用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之外的字符),

所以需要转义。

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

才开始学正则,有错误的地方请大家指正。

原文地址:https://www.cnblogs.com/tuobei/p/9385046.html

时间: 2024-11-09 00:36:12

判断Python输入是否为数字的相关文章

Python 输入一串数字,对其排序或找寻max或min值

思考:当我们输入一串数字,使用什么函数?排序使用什么函数? 我使用的是Python 3 的input()函数,注意:input()函数的返回值始终是字符串 如果我们输入的是整数,我们需要int函数进行转化,如果是浮点型,则使用float函数转化.... 排序使用的是sort()函数,转换时还使用了map()函数,最大值利用的是max()函数,最小值是利用的min()函数,这些函数的具体用法我就不细说了,很简单 (但是这样有个问题就是输入的时候只能处理单个数字.....这个我在后面研究好后再来说一

判断是否输入全角数字,解决部分客户银行账号输入的问题

修改js脚本文件: 在函数 verifyNodeDataType 里增加 :         if (Node.getAttribute("datatype") == 'english') {             if (!issbccase(v)) {                 if (Node.getAttribute('name') != null) {                     if (v.toString().trim() == '' &&am

判断用户输入的是数字还是字符串

1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 2.用正则表达式 首先要import java.util.regex.Pattern 和

以写代学:python 数据类型之字符串,判断用户输入的id是否符合要求

字符串操作符 比较操作符:字符串大小按ASCLL码值大小进行比较 切片操作符:[].[:].[::] 成员关系操作符:in.not in 脚本:判断用户输入的id是否符合要求 #!/usr/bin/env python import string #定义字符的范围first_id = string.letters + "_"           //确定首字符的范围all_id = string.digits + first_id         //确定其他字符的范围 #请求用户输入

43.编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“a numerical character”

//1.学习到字符输入 //2.判断字符 #include<iostream> using namespace std; int main() { char a; cout<<"please input a charcter: "<<endl; cin>>a; if(a>'0'&&a<'9') { cout<<"it's a numerical character!"<&l

【shell】Linux shell 之 判断用户输入的变量是否为数字

本文内容:判断用户输入的参数是否为数字 在shell中如何进行计算? 方式一 [[email protected] scripts]# echo $((1+2)) 3 方式二 [[email protected] scripts]# expr 2 + 3 5 [[email protected] scripts]# 注意:使用方式二的时候,要求必须要有间隔.如果使用的是乘法,号必须进行转义写为 \ [[email protected] scripts]# expr 2 * 3 expr: 语法错

利用 Python django 框架 输入汉字,数字,字符,等。。转成二维码!

利用 Python django 框架 输入汉字,数字,字符,等..转成二维码! 模块必备:Python环境 + pillow  + qrcode 模块 核心代码import qrcode qr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=20, border=4, ) qr.add_data('你要生成的文件') qr.make(fit=True) img = q

JavaScript控制输入框中只能输入中文、数字和英文

1.问题背景 遇到这样一个问题:有一个输入框,要求只能输入中文.数字和英文(即过滤特殊字符串) 2.JS代码 function  checkUsername() { //正则表达式 var reg = new RegExp("^[a-zA-Z\d\u4E00-\u9FA5]+$"); //获取输入框中的值 var username = document.getElementById("username").value.trim(); //判断输入框中有内容 if(u

C 输入一串数字,去掉其中含7的和能被7整除的数

C 输入一串数字,去掉其中含7的和能被7整除的数,每个数小于10000,数字个数小于100 输入例子:1,7,56,77,87,2,45,42,97,9977 输出:1,2,45 注意:输入个数不确定,所以不能够用整形数组处理,不能以判断整形数组元素是否等于\n为结束,因为数组是整形的,\n是字符型的,是输入不进去的 所以要用字符串来处理,先把用逗号相隔的所有整数取出来,然后再对这些数进行判断输出 #include<stdio.h> #include<string.h> void