您的位置:首页技术文章
文章详情页

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

【字号: 日期:2022-07-17 18:48:32浏览:6作者:猪猪

算法1

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

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

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

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

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

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

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

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

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

#encoding=utf-8def 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 Falseprint(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-8def 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 Falseprint(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 编程
相关文章: