基于python实现判断字符串是否数字算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基于python实现判断字符串是否数字算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2466字,纯文字阅读大概需要4分钟。
内容图文
![基于python实现判断字符串是否数字算法](/upload/InfoBanner/zyjiaocheng/618/51440e43e09f428eaefeda1acc09ae1e.jpg)
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/
友情链接:
高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/算法1
1、分小数和整数:如果小数点个数为1,则可能是小数。如小数点个数为0,则可能是整数。小数点个数非0也非1,那么就不是数字。
2、如果是小数,再分正数和负数的情况:如果首位为负号,则可能是负小数。如果首位不为负号,则可能是正小数。
1)如果首位为负号,则去掉负号。
2)如果首位不为负号;或者是首位为负号,去掉首位负号之后。则判断是否为是否为“.”,如果是,那么就不是数字,如果不是,就去掉"."
3)再判断剩下字符是否都在"0123456789"内,如果不都在则不是数字,否则就是数字
3、如果是整数,也同样分正数和负数的情况。如果首位为负号,则可能是负整数,如果首位不为负号,则可能是正整数。
1)如果首位诶负号,则去掉负号。
2)如果首位不为负号;或者是首位为负号,去掉首位负号之后。判断剩下字符是否都在"0123456789"内,如果不都在则不是数字,否则就是数字
#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"))
算法2
1、判断首位是否是负号或者数字,如果不是,则不是数字。如果是,则可能是数字。
2、判断"."和"-"的个数是否都小于等于1,如果不是,则不是数字,如果是,则可能是数字。
3、去掉"."和"-" 。
4、判断剩下的字符是否都在"0123456789"内,如果不都在则不是数字,否则就是数字
#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"))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程www.piaodoo.com。
内容总结
以上是互联网集市为您收集整理的基于python实现判断字符串是否数字算法全部内容,希望文章能够帮你解决基于python实现判断字符串是否数字算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。