python 将字符串中的数字相加求和的实现

yipeiwu_com5年前Python基础

计算字符串中所有数字的和,字符串中有数字和字母组合而成

如果出现连续数字,按照一个数操作

具体解释在代码行里:

def sum_str(str1):
  len1=len(str1)   #首先将字符串str1的长度赋值给len1
  sum = n = 0      #建立一个值为0的空变量sun     #建立一个值为0的空变量n
  for i in range(len1):        #用i来遍历字符串的长度
    if 49 <= ord(str1[i]) <= 57:  #判断字符ascii码是否在数字ascii值范围内
      n = n * 10     #n *= 10
      n = int(str1[i]) + n  #n += int(str1[i])
    else:
      sum = n + sum  #sum += n
      n = 0
    # 上面6行代码的意思是从0下标开始,遍历字符串,如果是数字,用n加上其数字,
    #执行逻辑是,碰见一个数字,用n加上,如果下一个还是数字,就将上一个数字乘10加这个数字,依次循环
    #比如:连续数字df123asd = ((1*10+2)*10)+3
    #如果不是数字,就将n值加到变量sum中,保存,并且将n重新赋值为0,再次进入for循环,(sun只在碰见字母的时候出现,把数字之前的数字的值收集起来)
    # 下次再碰到数字(满足if条件),循环(if)条件下面的逻辑
  sum = n +sum
  print(sum)
str1 = "b532x2x3c4b5"
sum_str(str1)   #调用函数

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用python远程操作linux过程解析

这篇文章主要介绍了使用python远程操作linux过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在云服务测试中,往往需要我...

手把手教你用python抢票回家过年(代码简单)

手把手教你用python抢票回家过年(代码简单)

首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令...

TensorFlow在MAC环境下的安装及环境搭建

TensorFlow在MAC环境下的安装及环境搭建

给大家分享一下TensorFlow在MAC系统中的安装步骤以及环境搭建的操作流程。 TensorFlow 底层的图模型结构清晰,容易改造;支持分布式训练;可视化效果好。如果做长期项目,接...

使用WingPro 7 设置Python路径的方法

使用WingPro 7 设置Python路径的方法

Python使用称为Python Path的搜索路径来查找使用import语句导入代码的模块。大多数代码只会汇入已经默认路径上的模块,通过安装到Python的Python标准库的例子模块...

Pytorch 实现sobel算子的卷积操作详解

Pytorch 实现sobel算子的卷积操作详解

卷积在pytorch中有两种实现,一种是torch.nn.Conv2d(),一种是torch.nn.functional.conv2d(),这两种方式本质都是执行卷积操作,对输入的要求也...