python之如将字符串中的数字提取出来然后求和

这篇博客介绍如何从字符串'43...3y2.f67se2.666.'中提取所有数字并求和。作者通过循环遍历、判断字符类型以及处理连续小数点的方法实现这一目标,最终将提取的数字43, 3, 2, 67, 2.666相加得到结果。" 46904433,44012,N阱CMOS工艺流程详解,"['cmos工艺', '半导体制造', '光刻技术', '集成电路设计']

因工作原因,很久没有学习python知识了,感觉都快忘记了,前天看到一个练习题,如何将字符串中的数字提取出来,然后求和呢?下面我来解释一下如何通过python代码来实现。

题目:字符串43...3y2.f67se2.666. 将其中的所有数字提取出来然后求和

思考:

1、字符串中包含了字母和数字和小数点,怎么取出来比较呢?

2、小数点连续有很多个的时候怎么处理?

3、最后取出来的数该怎么求和?

4、最后一个是小数点该怎么办?

解题思路:

1、首先通过循环遍历去将字符串中的数字取出来

2、去判断取出来的数是数字还是字母还是小数点

3、多个小数点的数要去掉

4.取出来结果是 43 3 2 67 2.666

 

源代码实现过程:

str= "43...3y2.f67se2.666. "
sum = 0
number = ""
is_num ="0123456789"  #定义是否是数字
is_has_float = False  #定义是否是小数点
isstart = False #定义是否是数字开始的标记变量
for a in str:  #将数字循环遍历
    if a in is_num:                     #判断取出来的数字是否是数字
        if isstart==True:
            number = number+a
        else:
            number = number+a
            isstart=True
        continue
    if a=='.':                          #判断取出来的数字是否是小数点
        if isstart==True:               #判断前一个是否是数字
            if is_has_float == True:
              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值