Python判断一个数是否为小数
一、判断一个数是否为小数
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 不是小数
Python判断一个数是否为小数的更多相关文章
- python判断一个字符串是否是小数
最近在写代码的时候,发现一个问题,想判断一个字符串是不是一个合法的小数,发现字符串没有内置判断小数的方法,然后就写了一个判断字符串是否是小数,可以判断正负小数,代码如下: 1 2 3 4 5 6 ...
- python判断一个数是否是2的几次幂
判断一个数是不是2的几次幂,最简单粗暴的做法就是直接迭代除以2,这里有一个更好的方法,那就是采用位运算. 我们观察下面属于2的几次幂的数的变化规律,用2进制表示. 十进制 二进制 0 0 2 10 4 ...
- python 判断一个数是整数还是小数
a=81**0.5 s=str(a).split('.') if float(s[1])==0: print('整数') else :print('小数')
- (转载)python判断一个字符串是否是小数
转载自:牛牛杂货铺 最近在写代码的时候,发现一个问题,想判断一个字符串是不是一个合法的小数,发现字符串没有内置判断小数的方法,然后就写了一个判断字符串是否是小数,可以判断正负小数,代码如下: def ...
- python 判断一个字符串是否是小数
"""练习判断一个小数1.判断是否合法2.合法需要有一个小数点3.小数点左边必须是个整数,右边必须是个正整数 """ def xiaoshu ...
- python 判断一个数为?
1. 判断一个变量是否数字(整数.浮点数)? instance('a', (int, long, float)) True isinstance('a', (int, long, float)) Fa ...
- python判断一个数是否为整数
- python判断一个数是不是完全平方数
思路: 完全平方数开根号后是一个整数,非完全平方数开根号的话是一个非整数 开根号后取整,如果开根号后是整数的话就不会改变值的大小 取整后再平方,如果值和之前一样,说明是完全平方数 import mat ...
- python判断小数示例&写入文件内容示例
#需求分析: #1.判断小数点个数是否为1 #2.按照小数点分隔,取到小数点左边和右边的值 #3.判断正小数,小数点左边为整数,小数点右边为整数 #4.判断负小数,小数点左边以负号开头,并且只有一个负 ...
随机推荐
- 洛谷P1310 表达式的值
P1310 表达式的值 题目描述 对于1 位二进制变量定义两种运算: 运算的优先级是: 先计算括号内的,再计算括号外的. “× ”运算优先于“⊕”运算,即计算表达式时,先计算× 运算,再计算⊕运算.例 ...
- InfoQ —— 百度搜索速度优化
本篇源自InfoQ —— <百度搜索速度优化> 好多名词不了解... 相关文档下载链接 背景 许霞,毕业于浙江大学.08年加入百度运维部. 本篇讲座主要讲述百度关于速度的优化,包括PC端和 ...
- 自定义标签报 无法为TAG [my2:hello]加载标记处理程序类[null]
今天练习jsp自定义标签的时候,等我写好全部和检查万无一失的时候.执行然后报错了 无法为TAG [my2:hello]加载标记处理程序类[null] 我反复检查代码,发现代码也没什么问题.后面通过百度 ...
- 「BZOJ3600」没有人的算术 替罪羊树+线段树
题目描述 过长--不想发图也不想发文字,所以就发链接吧-- 没有人的算术 题解 \(orz\)神题一枚 我们考虑如果插入的数不是数对,而是普通的数,这就是一道傻题了--直接线段树一顿乱上就可以了. 于 ...
- AT2672 Coins
传送门 按理说想到转化问题之后就不难了吧,可是我还是不会写 一个很容易想到的转化就是差分,将银币数和铜币数都减去金币数,这样就转化为\(x+y+z\)个钱币选\(y\)个银币和\(z\)个铜币的最大数 ...
- 关于JS的Date对象的探究
一次代码审核,其中刚好遇见了一些知识点~记录顺带整理一下吧~ date对象是javascript语言中内置的数据类型,用于提供日期和时间的操作接口. Date类型使用自UTC1970年1月1日0点开始 ...
- bzoj1004 [HNOI2008]Cards【Burnside/Polya】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 一道好题,但并不是好在融合了三个“考点”(计数,背包dp,逆元),其实背包dp以及求逆 ...
- 如何理解javascript中的同步和异步
javascript语言是一门“单线程”的语言,不像java语言,类继承Thread再来个thread.start就可以开辟一个线程,所以,javascript就像一条流水线,仅仅是一条流水线而已,要 ...
- 阿里巴巴Java开发手册_不建议在循环体中使用+进行字符串拼接
18. [推荐]循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展. 说明:下例中,反编译出的字节码文件显示每次循环都会new出一个StringBuilder对象,然 ...
- python3 no module named yaml
sudo apt-get install python3-yaml