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正则表达式03--字符串中匹配数字
import re # \d+ 匹配字符串中的数字部分,返回列表 ss = 'adafasw12314egrdf5236qew' num = re.findall('\d+',ss) print(nu ...
- js将某个值转换为String字符串类型或转换为Number数字类型
将某个值转换为String类型 1. value.toString() toString()方法返回一个表示该对象的字符串 var a = 123 a.toString() // '123' 2. & ...
- python(15)提取字符串中的数字
python 提取一段字符串中去数字 ss = “123ab45” 方法一:filter filter(str.isdigit, ss) 别处copy的filter的用法: # one>> ...
- python 提取字符串中的数字组成新的字符串
方法一 # 有一个字符串text = "aAsmr3idd4bgs7Dlsf9eAF" # 请将text字符串中的数字取出,并输出成一个新的字符串 import re text = ...
- Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)
一.字符串常用操作 #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格) name='*egon**' print(name.strip('*'))#移除 name 变量对应 ...
- 写出将字符串中的数字转换为整型的方法,如:“as31d2v”->312,并写出相应的单元测试,正则去掉非数值、小数点及正负号外的字符串
写出将字符串中的数字转换为整型的方法,如:"as31d2v"->312,并写出相应的单元测试,输入超过int范围时提示不合法输入. public struct Convert ...
- divmod(a,b)函数是实现a除以b,然后返回商与余数的元组、eval可以执行一个字符串形式的表达式、exec语句用来执行储存在字符串或文件中的Python语句
#!/usr/bin/env python a = 10/3 print(a) #divmod计算商与余数 r = divmod(10001,20) print(r) #eval可以执行一个字符串形式 ...
- 对字符串进行简单的字符数字统计 探索java中的List功能
题目: 统计一个字符串中数字和字符串的个数,并分别进行排列,要求 1.数字,字符串可以从键盘获取. 2.储存在list 3.统计数字个数,字符串个数 4.把数字和字符串按从小到大的顺序输出 5.不能使 ...
- SQL Server 2008 R2——创建函数 筛选出字符串中的数字 筛选出字符串中的非数字
=================================版权声明================================= 版权声明:本文为博主原创文章 未经许可不得转载 请通过右 ...
随机推荐
- github 的使用步骤
1. github是一个git项目托管网站 注册地址:https://github.com/signup/free 2. 安装git程序,执行下面操作 $ cd ~/.ssh //检查计算机ssh密钥 ...
- Java——事务
一.事务(Transaction) 1. 在开发中我们的一个业务往往需要同时操作多个表,这些操作往往是不可分割,业务中的对数据库的多次操作,要么同时成功,要么全都失败. 2.注意:我们在同一个事务中使 ...
- postgresql 如何设置主键自增
法一: CREATE TABLE customers ( customerid SERIAL primary key , companyname character varying, contactn ...
- 网络工程18级《C++程序设计II》实践作业1
A.类的应用1 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 162 (133 users) Total Accepted: 136 ...
- java编程技巧和心得
1.在一个类中修改或调用另一个类的变量: 只需要将该变量用public static 这个修饰符修饰,再用类名直接调用即可 2.实现对只有下标不同变量的操作 解决思路:可以将这些变量放在一个数组里,在 ...
- svn 常用忽略
*.o *.lo *.la *.al .libs *.so *.so.[-]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Stor ...
- Patting Heads
Description It's Bessie's birthday and time for party games! Bessie has instructed the N (1 < N & ...
- hdu1698 线段树(区间更新~将区间[x,y]的值替换为z)
Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- tomcat故障——数据库未授权
- django终端打印Sql语句
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBU ...