基于python实现判断字符串是否数字算法
作者:anne的夏天 时间:2022-10-15 00:46:58
算法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"))
来源:https://www.cnblogs.com/anne32184/p/13258653.html
标签:python,判断,字符串,算法
0
投稿
猜你喜欢
python使用rsa非对称加密过程解析
2021-06-15 00:14:51
django在开发中取消外键约束的实现
2021-10-12 05:47:57
SQL注入宽字节注入由浅到深学习
2023-06-14 04:16:40
python 时间戳与格式化时间的转化实现代码
2021-07-06 10:14:47
用Python获取摄像头并实时控制人脸的实现示例
2022-12-11 09:50:21
python里面单双下划线的区别详解
2023-03-22 12:39:22
Django中使用Whoosh进行全文检索的方法
2023-03-20 05:35:43
python如何为list实现find方法
2022-01-14 09:15:56
JS截取字符串常用方法详细整理
2023-07-04 03:37:49
如何解决python多种版本冲突问题
2023-12-28 06:41:17
Sanic框架安装与简单入门示例
2022-06-08 19:37:41
Python 实现图片色彩转换案例
2021-01-12 21:35:56
导入tensorflow:ImportError: libcublas.so.9.0 报错
2023-07-07 11:44:46
解析MSSQL跨数据库查询的实现方法
2024-01-21 20:19:19
利用Python实现Shp格式向GeoJSON的转换方法
2021-01-30 09:14:49
Ubuntu Server 20.04 LTS 环境下搭建vim 编辑器Python IDE的详细步骤
2023-06-02 05:13:18
Python实现多项式拟合正弦函数详情
2023-04-15 09:45:20
儿童学习python的一些小技巧
2021-10-14 05:09:40
php获取当前页面完整URL地址
2024-05-13 09:20:56
Python实现的字典值比较功能示例
2022-06-29 03:40:41