基于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 命令行非阻塞输入的小例子
Sep 27 Python
Python不规范的日期字符串处理类
Jun 10 Python
django+js+ajax实现刷新页面的方法
May 22 Python
Python代码缩进和测试模块示例详解
May 07 Python
python进行文件对比的方法
Dec 24 Python
使用PIL(Python-Imaging)反转图像的颜色方法
Jan 24 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
Jun 28 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
Python3开发环境搭建详细教程
Jun 18 Python
用python-webdriver实现自动填表的示例代码
Jan 13 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的几个常用数字判断函数代码
2012/04/24 PHP
php分页代码学习示例分享
2014/02/20 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
PHP基本语法总结
2014/09/06 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
Angular之指令Directive用法详解
2017/03/01 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
彻底解决Python包下载慢问题
2020/11/15 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
物业管理员岗位职责范文
2013/11/25 职场文书
客户接待方案
2014/02/26 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
车辆年检委托书范本
2014/10/14 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android
SQL写法--行行比较
2021/08/23 SQL Server