Python如何判断字符串是不是数字?判断算法的方法有哪些?

这篇文章主要为大家展示了“Python如何判断字符串是不是数字?判断算法的方法有哪些?”内容简而易懂,条理清晰,文章内容只供参考,阅读完这篇文章希望对大家有所帮助,下面一起进入学习吧!大家一起研究并学习一下“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如何判断字符串是不是数字?判断算法的方法有哪些?”这篇文章的所有内容,希望分享的内容对大家有所帮助,感谢各位的阅读!

    推荐阅读