基于python实现判断字符串是否数字算法

2020-10-08 0 459

算法1

1、分小数和整数:如果小数点个数为1,则可能是小数。如小数点个数为0,则可能是整数。小数点个数非0也非1,那么就不是数字

2、如果是小数,再分正数和负数的情况:如果首位为负号,则可能是负小数。如果首位不为负号,则可能是正小数。

1)如果首位为负号,则去掉负号。

2)如果首位不为负号;或者是首位为负号,去掉首位负号之后。则判断是否为是否为“.”,如果是,那么就不是数字,如果不是,就去掉\”.\”

3)再判断剩下字符是否都在\”0123456789\”内,如果不都在则不是数字,否则就是数字

3、如果是整数,也同样分正数和负数的情况。如果首位为负号,则可能是负整数,如果首位不为负号,则可能是正整数。

1)如果首位诶负号,则去掉负号。

2)如果首位不为负号;或者是首位为负号,去掉首位负号之后。判断剩下字符是否都在\”0123456789\”内,如果不都在则不是数字,否则就是数字

基于python实现判断字符串是否数字算法

 #encoding=utf-8
def is_number(s):
  if s.count(\".\")==1:  #小数的判断
    if s[0]==\"-\":
      s=s[1:]
    if s[0]==\".\":
      return False
    s=s.replace(\".\",\"\")
    for i in s:
      if i not in \"0123456789\":
        return False
    else:        #这个else与for对应的
      return True
  elif s.count(\".\")==0:  #整数的判断
    if s[0]==\"-\":
      s=s[1:]
    for i in s:
      if i not in \"0123456789\":
        return False
    else:
      return True
  else:
    return False
print(is_number(\"1334345345\"))
print(is_number(\"1.12344565\"))
print(is_number(\"-14344343\"))
print(is_number(\"-1.123456\"))
print(\"**********************\")
print(is_number(\"abc\"))
print(is_number(\"1.32.2\"))
print(is_number(\".2344\"))
print(is_number(\"1234a\"))
print(is_number(\"--1.1\"))
print(is_number(\"--1abc\"))

基于python实现判断字符串是否数字算法

算法2

1、判断首位是否是负号或者数字,如果不是,则不是数字。如果是,则可能是数字。

2、判断\”.\”和\”-\”的个数是否都小于等于1,如果不是,则不是数字,如果是,则可能是数字。

3、去掉\”.\”和\”-\” 。

4、判断剩下的字符是否都在\”0123456789\”内,如果不都在则不是数字,否则就是数字

基于python实现判断字符串是否数字算法

#encoding=utf-8
def is_number(s):
  if s[0]==\"-\" or s[0] in \"0123456789\":
    if s.count(\".\")<=1 and s.count(\"-\")<=1:
      s=s.replace(\"-\",\"\").replace(\".\",\"\")
      #print (s)
      for i in s:
        if i not in \"0123456789\":
          return False
      else:        #这个else与for对应
        return True
    else:
      return False 
  else:
    return False
print(is_number(\"1334345345\"))
print(is_number(\"1.12344565\"))
print(is_number(\"-14344343\"))
print(is_number(\"-1.123456\"))
print(\"**********************\")
print(is_number(\"abc\"))
print(is_number(\"1.32.2\"))
print(is_number(\".2344\"))
print(is_number(\"1234a\"))
print(is_number(\"--1.1\"))
print(is_number(\"--1abc\"))

基于python实现判断字符串是否数字算法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

遇见资源网 Python 基于python实现判断字符串是否数字算法 http://www.ox520.com/26413.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务