Python中判断input()输入的数据的类型
作者:芜湖起飞飛飝 发布时间:2023-03-14 17:02:15
在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
来源:https://blog.csdn.net/m0_55034727/article/details/121563466


猜你喜欢
- 异步编程带来的问题在客户端Javascript中并不明显,但随着服务器端Javascript越来越广的被使用,大量的异步IO操作使得该问题变
- 尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有
- 除了常用的csv文件和excel文件之外,我们还可以通过PY把数据保存文npy文件格式和mat文件格式。1. npy文件npy即numpy对
- 本文实例为大家分享了python sklearn分类算法模型调用的具体代码,供大家参考,具体内容如下实现对'NB',&nbs
- python语句mode = ‘test’ if y is None else &lsquo
- 1. *表示匹配任意多个字符 \d*表示匹配任意多个数字字符import retext = "
- 使用cpan安装Net::SSH::Perl:cpan>install Net::SSH::Perl期间遇到了一些问题,记录在此,以备
- 今天看了微软JScript官方blog上去年的两篇文章: http://blogs.msdn.com/jscript/archive/200
- 1. 案例【三酷猫列表记账】操作需求:(1)用列表对象记录三酷猫每天钓鱼的种类和数量(2)统计三酷猫所钓水产品的总数量和预计收获金额(3)打
- 什么是迭代器?迭代器是带有next方法的简单对象,当然也要实现__iter__函数。迭代器能在一序列的值上进行迭代,当没有可供迭代时,nex
- 一、什么是Perl Hash哈希是一种数据结构,和数组类似,可以将值存放到其中,或者从中取回值。但是,和数组不同的是,其索引不是数字,而是名
- 如下所示:# -*- coding: utf-8 -*-import os import pandas as pdimport numpy
- asp上传的时候出现这种 错误:Server 对象 错误 'ASP 0177 800401f3'Server.CreateO
- 关于JavaSctipt的兼容性,最懒的办法就是用jQuery的工具函数。尽量不要用那些什么ECMAScript之类的函数,因为很多浏览器都
- 前言因为是国企线上应用的活动大屏,我就不附图了。代码仅供参考。一、vue配置1. 我是用vue-cli 搭建的,大屏项目复杂度不高,vue-
- TIPS:没有特殊说明,测试环境均为MySQL8.0,早期版本可能会有更多情况导致索引失效。8.0失效的情况,早期版本也失效;8.0不失效的
- class ascii{function decode($str){ preg_match_all( &
- 觉得微博手动点赞太过麻烦?其实自动点赞的实现并不困难!本篇会有Cookie、session和token方面的知识,不太了解的可以先看下web
- 相信大家对阶乘都不陌生。不知道阶乘的可以看这里:一个数的阶乘:比如5的阶乘在python中大部分教程一般推荐用递归函数完成:#!/usr/b
- 本文详细讲述了DRF认证组件的原理以及用法.源码剖析讲解DRF版本的时候我们都知道了,在dispatch方法里执行了initial方法来初始