Python中判断input()输入的数据的类型

在pyhton中,经常会用到input()语句,但是input()语句输入的内容只能时字符串类型,而我们经常要输入int类型的数据等,那么就需要用到int()方法给输入的内容强制转换为int类型:

a = int(input())

但是这样就会有一个问题,一旦我输入的不是数字,而是字母、标点等,这样就会报错,因为字母灯是不能转成int类型的,所以我们就要判断一下,输入的内容为什么:

str = input()
if str.isdigit() :
	a = int(str)

这样就可以判断输入的是不是数字,还是字母、符号等

方法:
str.isdigit()为True表示输入的所有字符都是数字
str.isalnum()为True表示输入的所有字符都是数字或者字母
str.isalpha()为True表示输入的所有字符都是字母
str.isdigit()为True表示输入的所有字符都是数字
str.islower()为True表示输入的所有字符都是小写
str.isupper()为True表示输入的所有字符都是大写
str.istitle()为True表示输入的所有单词都是首字母大写,像标题
str.isspace()为True表示输入的所有字符都是空白字符、\t、\n、\r

更新一下:
注意,用isdigit()来判断小数,比如3.14就会返回FALSE。
isdigit()只是判断输入的是不是纯数字,不是判断你输入的是不是一个数,这个方法只是判断你输入的是什么字符,并不是判断你输入的是什么类型,因为无论如何,输入的值都为字符串类型,小数中有小数点,当然会返回FALSE了。
如何判断输入是不是小数,首先判断输入有没有小数点,几个小数点,小数点的位置、再按照小数点进行切片,切为两片,判断每一片是否都为纯数字

下面是一个类型转换的方法,将输入的字符串转换为int或float类型的数据:

# 将字符串转为int或float类型
def change_type(str):
    # 先判断输入是不是字符串类型,是的话就继续,不是的话就将输入返回
    if type(str) == type("123"):
        # 判断输入是不是纯数字
        if str.isdigit() :
            # 将输入转为int类型并返回
            result = int(str)
            print(result,"是整数 类型是",type(result))
            return result
        else :
            # 判断字符串中是否只有一个小数点、小数点是不是不在字符串的开始或结尾
            if str.count(".")==1 and not str.startswith(".") and not str.endswith("."):
                # 将字符串按小数点切为两片,整数部分与小数部分
                # 整数部分
                left = str.split('.')[0]
                # 小数部分
                right = str.split('.')[1]
                # 判断切片的部分是不是纯数字
                if left.isdigit() & right.isdigit():
                    # 将输入转为float类型并返回
                    result = float(str)
                    print(result,"是小数 类型是",type(result))
                    return result
    else:
        # 返回字符串
        print("输入的变量不是字符串类型")
        result = str
        return result

到此这篇关于Python中判断input()输入的数据的类型的文章就介绍到这了,更多相关Python input输入的类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python数据结构输入输出及控制和异常

    目录 1. 输入 input 2. 输出 print 2.1 普通输出 2.2 格式化输出 3. 控制语句 4. 异常处理 前言: python数据类型: python数据结构之数据类型. 今天我们主要来介绍一些内置函数,比如输入输出,控制,和异常的用法,尤其是输出和控制,用的太多了,写算法题,输出数据格式问题,对以后都会很有帮助. 1. 输入 input 程序经常需要与用户进行交互,以获得数据或者提供某种结果.Python 提供了一个函数,它使得我们可以要求用户输入数据并且返回一个字 符串的引

  • python3获取控制台输入的数据的具体实例

    python3获取控制台输入的数据的方法:可以利用input()函数来获取. python3为我们提供了input()函数,该函数用来接收一个标准输入数据,返回为string类型,使用方法如:[age = input()]. Python3.x 中 提供了 input() 函数接受一个标准输入数据,返回为 string 类型. 语法: input([prompt]) 参数prompt表示提示信息. 代码示例: """ 接收控制台的输入 How old are you? 18

  • python一行输入n个数据问题

    目录 python一行输入n个数据 方法一 方法二 输入N个数,求其平均值 总结 python一行输入n个数据 有时会碰到一行输入多个数据,这是可以先用str类型存一组数据,然后再迭代的将每个数据追加到新的列表中. 方法一 先输入str字符串,再根据空格得到数字字符列表n.split().然后将列表元素转为数字存到新的列表list中 上面的问题是要输入10个数据,其实也能输入任意个. n = input() list = [] for i in n.split(): list.append(in

  • python输入、数据类型转换及运算符方式

    目录 一.输入 二.常用转换数据类型的函数 三.运算符 1.算术运算符 2.赋值运算符 3.复合赋值运算符 4.比较运算符 5.逻辑运算符 一.输入 input("提示内容") (1)当程序执行到input,等待用户输入,输入完成后才继续往下执行 (2)input接收用户输入后,一般存储到变量,方便使用 (3)input会把接收到的任意用户输入的数据都当作字符串处理 对input()的应用 代码: 输出结果: 二.常用转换数据类型的函数 函数 说明 int(x) 将x转化为一个整数 f

  • 在python中实现同行输入/接收多个数据的示例

    在使用python去AC题时总会遇到这样的问题,题目要求同行输入一组数据,但是你使用input时却不能做到,导致不断的CE,这个时候怎么样来解决的这个问题呢? 很简单,只需要使用input().split(' ')就可以了 例如:最简单的求a+b的例子,写成下面的形式就可以单行输入两个数据了 a , b = input ().split(' ') #以空格为间隔符 print (a+b) 结果如下: 注意input的输入机制,他是把所有输入都按照字符串输入的所以这样输出的a+b是按字符串形式直接

  • vue判断input输入内容全是空格的方法

    比如input中的数据和data中的msg双向绑定. 那么我们可以  判断先把msg以空格拆分成数组,然后拼接起来,判断字符串的长度,如果长度为0,证明输入的就全是空格了,如下: msg.split(" ").join("").length = 0 以上这篇vue判断input输入内容全是空格的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: vue获取input输入值的问题解决办法 详解.vue文件中监听in

  • Python 中pandas索引切片读取数据缺失数据处理问题

    引入 numpy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢? numpy能够帮我们处理处理数值型数据,但是这还不够 很多时候,我们的数据除了数值之外,还有字符串,还有时间序列等 比如:我们通过爬虫获取到了存储在数据库中的数据 比如:之前youtube的例子中除了数值之外还有国家的信息,视频的分类(tag)信息,标题信息等 所以,numpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我

  • python中判断文件结束符的具体方法

    python中判断文件结束符的方法:可以使用try except语句块来进行判断. 具体使用方法:[try:while True:s = input() except EOFError: pass]. Python 中,用try except语句块捕获并处理异常,其基本语法结构如下所示: try:     可能产生异常的代码块 except [ (Error1, Error2, ... ) [as e] ]:     处理异常的代码块1 except [ (Error3, Error4, ...

  • python中判断数字是否为质数的实例讲解

    在计算机程序中,算法是灵魂,是程序的精髓所在.程序执行效率的高低直接取决于算法的优劣,所以计算机算法是计算机课程必修课.算法可以快速计算出我们所需要的结果,例如判断质数,这是很基础的内容,具体如何操作呢?下面小编向大家演示在python如何判断数字是否为质数. 质数:一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数. 判断代码: def isprime(a): if isinstance(a,int)

  • js中判断用户输入的值是否为空的简单实例

    在js中判断用户输入的值是否为空,这是大家用得非常多的. 这没有什么好写的. 而我却写了. 原因只是自以为是的认为我的这些代码写得不错, 供大家参考一下. 这是摘自的我一个项目的中的用户注册页面.对于大多数人来说,这都几乎是100%经历过的.贴代码吧,这些代码都是用js写的. 不难,很容易看懂. 看的时候,只要区别两个js类就行了.前台页面代码:reguser.aspx 复制代码 代码如下: <%@ Page language="c#" Codebehind="RegU

  • python中使用input()函数获取用户输入值方式

    我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以下程序演示. user_gender = input("Please enter your gender(F/M):") print(f'Your gender is {user_gender}') 要注意的是在sublime编辑器中不支持input的在线输入,所以我们需要去cmd窗口运行这个程序,结果如下所示: 要注意的是input的返回值是字符

  • python中for语句简单遍历数据的方法

    本文实例讲述了python中for语句简单遍历数据的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: for name in ["kak", "John", "Mani", "Matt"]:    print(name) 运行结果如下: 复制代码 代码如下: kak John Mani Matt 希望本文所述对大家的Python程序设计有所帮助.

  • python中判断文件编码的chardet(实例讲解)

    1.实测,这个版本在32位window7和python3.2环境下正常使用. 2.使用方法:把解压后所得的chardet和docs两个文件夹拷贝到python3.2目录下的Lib\site-packages目录下就可以正常使用了. 3.判断文件编码的参考代码如下: file = open(fileName, "rb")#要有"rb",如果没有这个的话,默认使用gbk读文件. buf = file.read() result = chardet.detect(buf)

  • Python中elasticsearch插入和更新数据的实现方法

    首先,我的索引结构是酱紫的. 存储以name_id为主键的索引,待插入或更新数据为: 一般会有有两种操作: 以下图片为个人见解,我没试过能不能直接运行,但形式上没错. 数据不存在,我需要插入地址为空字符串. 单条插入: 批量插入: 该数据存在,我需要更新地址字段为空字符串. 单条更新: 批量更新: 总结 以上所述是小编给大家介绍的Python中elasticsearch插入和更新数据的实现方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的! 您可能感兴趣的文章: 使用

随机推荐