这篇文章主要为大家展示了“Python如何判断字符串是不是数字?判断算法的方法有哪些?”内容简而易懂,条理清晰,文章内容只供参考,阅读完这篇文章希望对大家有所帮助,下面一起进入学习吧!大家一起研究并学习一下“Python如何判断字符串是不是数字”这篇文章吧 。
文章插图
分以下几种判断方法
1、小数和整数:如果存在小数点切小数点个数为1,则可能是小数 。如小数点的个数为0,则可能是整数,小数点个数不是0也不是1,那么就不是数字 。
2、如果是小数,再分正数和负数的情况:如果首位的符号是负号,则可能是负小数 。如果首位不是负号,则可能是正小数 。
1)如果首位的符号是负号,则去掉负号 。
2)如果首位不是负号;或者是首位为负号,去掉首位负号之后再判断是否有小数点,如果是,那么就不是数字,如果不是,就去掉小数点 。
3)最后就是再判断剩下字符是否都在"0123456789"范围之内,如果不在这个范围之内,那么它就不是数字,在的话就是数字 。
3、如果是整数,也同样分正数和负数的情况 。如果首位的符号是负号,则可能是负整数,如果首位不是负号,则可能是正整数 。
1)如果首位是负号,则去掉负号 。
2)如果首位不为负号,或者是首位为负号,则去掉首位负号之后,再判断剩下字符是否都在"0123456789"内,如果不都在则不是数字,否则就是数字 。下面用一个实例来给大家进行解答:
def is_num (a): if a.count(".")==1: #对小数的判断 if a[0]=="-": a=a[1:] if a[0]==".": return False a=a.replace(".","") for i in a: if i not in "0123456789": return Falseelse: return True elif a.count(".")==0: #对整数的判断 if a[0]=="-": a=a[1:] for i in a: if i not in "0123456789": return False else: return True else: return Falseprint(is_num("1334345345"))print(is_num ("1.12344565"))print(is_num ("-14344343"))print(is_num ("-1.123456"))print("**********************")print(is_num ("abc"))print(is_num ("1.32.2"))print(is_num (".2344"))print(is_num ("1234a"))print(is_num ("--1.1"))print(is_num ("--1abc"))【Python如何判断字符串是不是数字?判断算法的方法有哪些?】以上是有关“Python如何判断字符串是不是数字?判断算法的方法有哪些?”这篇文章的所有内容,希望分享的内容对大家有所帮助,感谢各位的阅读!
推荐阅读
- Python如何批量转换多种音乐格式?Python如何将音乐格式批量转换?
- Python和java哪个更值得学?python和java该如何选择?
- python中的百分号表示什么意思?如何使用python中百分号?
- for循环输出两种方法是什么? 如何在python中利用for循环实现内输出和外输出?
- python字符串切片如何使用?字符串切片的用法
- python和C语言之间有什么区别?python和C语言的区别
- 什么是python的聚类算法?如何理解python的聚类算法?
- 奇门 奇门遁甲术_判断能否得财
- 奇门 奇门遁甲术_解析坐等生意的判断方法
- 财运线算命怎么算,财运线如何看财运?