基于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 相关文章推荐
解决pyqt中ui编译成窗体.py中文乱码的问题
Dec 23 Python
磁盘垃圾文件清理器python代码实现
Aug 24 Python
Python单元测试实例详解
May 25 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
python制作mysql数据迁移脚本
Jan 01 Python
python3图片文件批量重命名处理
Oct 31 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
python神经网络编程实现手写数字识别
May 27 Python
python语言time库和datetime库基本使用详解
Dec 25 Python
Python之Sklearn使用入门教程
Feb 19 Python
Python 制作自动化翻译工具
Apr 25 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
回答PHPCHINA上的几个问题:URL映射
2007/02/14 PHP
PHP 压缩文件夹的类代码
2009/11/05 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
Python SQLite3数据库操作类分享
2014/06/10 Python
Python Deque 模块使用详解
2014/07/04 Python
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
Python中splitlines()方法的使用简介
2015/05/20 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
银行财务部实习生的自我鉴定
2013/11/27 职场文书
委托证明模板
2014/09/16 职场文书
公务员年度个人总结
2015/02/12 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS