温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python怎么判断一个变量是不是数字

发布时间:2021-11-23 17:05:36 阅读:642 作者:iii 栏目:互联网科技
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要讲解了“python怎么判断一个变量是不是数字”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么判断一个变量是不是数字”吧!

题目:

判断一个变量是不是数字?

str_list1 = [1234'134''134.151''-134','一二三''正三四五''负四五六''正三点一四一五']str_list2 = ['-''--13''34..421''.134']

题目要求:

类似str_list1内部元素的变量都判为数字,类似str_list2内部元素的变量都判为非数字!

代码答案:

看答案之前最好尝试自己写一下,写完了再和我写的对比一下:

def isnumber(str_number):  # 判断字符串是不是数字if type(str_number) is int or type(str_number) is float:  # 如果参数是数字型或浮点型,返回Truereturn Trueif type(str_number) != str or len(str_number) < 1:  # 如果参数不是字符串型或长度小于1,返回Falsereturn Falsesymbol1 = ('+''-''正''负')  # 正负号symbol2 = ('.''点')  # 小数点if str_number[0in symbol1:  # 如果首字符是符号,那么整个字符串去除符号str_number = str_number[1:]if len(str_number) < 1:  # 如果去除符号后长度为0,判断不是数字return Falseelif str_number[0in symbol2:  # 首字符不能为小数点return Falsenumber = ('0''1''2''3''4''5''6''7''8''9',  '零''一''二''三''四''五''六''七''八''九')  # 匹配模板result = True  # 预设结果是Truepoint_times = 0  # 小数点次数str_len = len(str_number)  # 计算整个字符串长度for i in range(str_len):   # 遍历整个字符串if str_number[i] in symbol2:  # 如果当前字符是小数点point_times += 1  # 小数点次数+1if point_times > 1:  # 小数点出现次数多于1result = False  # 判断字符串不是数字breakelif str_number[i] not in number:  # 如果当前字符不在模板内result = False  # 判断字符串不是数字breakreturn result


str_list1 = [1234'134''134.151''-134''一二三''正三四五''负四五六''正三点一四一五']str_list2 = ['-''--13''34..421''.134']for i in str_list1:print(f"当前参数{i}{'是数字!' if isnumber(i) else '不是数字!'}")print('-'*50)for i in str_list2:ret = '是数字!' if isnumber(i) else '不是数字!'print(f"当前参数{i}{'是数字!' if isnumber(i) else '不是数字!'}")out:当前参数1234是数字!
当前参数134是数字!
当前参数134.151是数字!
当前参数-134是数字!
当前参数一二三是数字!
当前参数正三四五是数字!
当前参数负四五六是数字!
当前参数正三点一四一五是数字!--------------------------------------------------当前参数-不是数字!
当前参数--13不是数字!
当前参数34..421不是数字!
当前参数.134不是数字!

感谢各位的阅读,以上就是“python怎么判断一个变量是不是数字”的内容了,经过本文的学习后,相信大家对python怎么判断一个变量是不是数字这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/fz17/blog/4769435

AI

开发者交流群×