一、判断一个数是否为小数

1、有且仅有一个小数点

2、小数点的左边可能为正数或负数

3、小数点的右边为正数

二、实现代码

def is_float(str):
if str.count('.') == 1: #小数有且仅有一个小数点
left = str.split('.')[0] #小数点左边(整数位,可为正或负)
right = str.split('.')[1] #小数点右边(小数位,一定为正)
lright = '' #取整数位的绝对值(排除掉负号)
if str.count('-') == 1 and str[0] == '-': #如果整数位为负,则第一个元素一定是负号
lright = left.split('-')[1]
elif str.count('-') == 0:
lright = left
else:
print('%s 不是小数'%str)
if right.isdigit() and lright.isdigit(): #判断整数位的绝对值和小数位是否全部为数字
print('%s 是小数'%str)
else:
print('%s 不是小数'%str)
else:
print('%s 不是小数'%str)

查看结果:

30.112 是小数
-300.123 是小数
-.5 不是小数
2-1 不是小数
--11..22 不是小数
5. 不是小数
0 不是小数
abc.efg 不是小数

最新文章

  1. Windows 安装ELK
  2. 解决关于打开plist文件乱码问题,plist转换为xml文件的txt文件!
  3. HTTP请求方法对照表
  4. asp.net资料! (.NET) (ASP.NET)
  5. 武汉科技大学ACM:1004: 华科版C语言程序设计教程(第二版)习题5.6
  6. Android百度地图默认位置中心点设置
  7. RedHat9通过Host-only配置网络连接
  8. ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)
  9. asp.net core 使用 Redis 和 Protobuf
  10. 9月mob(ShareSDK)活动预告,这个秋天非常热
  11. 服务器Windows 登录 出现401 错误
  12. 『数组的最大代价 贪心优化DP』
  13. Percona XtraBackup 备份还原篇
  14. jmeter5.0 while controller使用总结
  15. MyEclipse创建Web项目入门指南
  16. 执行了‘“npm install mysql"
  17. Revit Family API 添加材质参数设置可见性
  18. Django框架(上传Excel文件并读取)
  19. jquery怎么取得有好几个并且name是相同的值
  20. css中元素的auto属性值是什么意思,比如margin:0 auto表示什么?

热门文章

  1. javascript基础工具清单
  2. ios json转model的简单现实
  3. 我的省选 Day -11
  4. 帝都Day4(1)——还是dp
  5. CF987C Three displays 解题报告
  6. @RequestBody注解的用法
  7. LeetCode 046 Permutations 全排列
  8. Murano PTL&Core
  9. (转)Linux之split命令详解
  10. 迅雷笔试题 (JAVA多线程)启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC