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


Posted in Python onJuly 10, 2020

算法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中获取网页状态码的两个方法
Nov 03 Python
Python读写Excel文件方法介绍
Nov 22 Python
python搭建虚拟环境的步骤详解
Sep 27 Python
flask中的wtforms使用方法
Jul 21 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
python如何判断IP地址合法性
Apr 05 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
python3的pip路径在哪
Jun 23 Python
python不同系统中打开方法
Jun 23 Python
python一些性能分析的技巧
Aug 30 Python
基于python实现计算两组数据P值
Jul 10 #Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 #Python
Python3爬虫中Ajax的用法
Jul 10 #Python
Python3爬虫中Selenium的用法详解
Jul 10 #Python
Python3爬虫中Splash的知识总结
Jul 10 #Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 #Python
python3爬虫中异步协程的用法
Jul 10 #Python
You might like
php修改时间格式的代码
2011/05/29 PHP
php array_walk() 数组函数
2011/07/12 PHP
PHP面向对象——访问修饰符介绍
2012/11/08 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
修改发贴的编辑功能
2007/03/07 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
django上传图片并生成缩略图方法示例
2017/12/11 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
django fernet fields字段加密实践详解
2019/08/12 Python
Python使用type动态创建类操作示例
2020/02/29 Python
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
2014年高三毕业生自我评价
2014/01/11 职场文书
股份合作协议书
2014/04/12 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
单位同意报考证明
2015/06/17 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书