温馨提示×

温馨提示×

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

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

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

发布时间:2021-11-23 17:05:36 来源:亿速云 阅读:641 作者:iii 栏目:互联网科技

这篇文章主要讲解了“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[0] in symbol1:  # 如果首字符是符号,那么整个字符串去除符号str_number = str_number[1:]if len(str_number) < 1:  # 如果去除符号后长度为0,判断不是数字return Falseelif str_number[0] in 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:  # 小数点出现次数多于1个result = 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怎么判断一个变量是不是数字这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

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

AI