编码练习4

本文提供了三个关于字符串处理的编程练习,包括字符替换、规则转换和连续字符判断,旨在提升编程技能,特别是字符串操作和算法理解能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习1:
写一个函数,实现遍历一个数字和字母掺杂的字符串,如果碰到字母则替换成*,最后隔开的数字作为整体计算求和。如"ab34aa243dd78eww89",则替换成的结果为:“342437889",求和结果为:"7915**17”

s = "ab34aa243dd78eww89"
result = ""
count = 0
for i in s:
    if i>='a' and i<='z':
        result+="*"
    else:
        result+=i

print(result)
result = result.replace("*"," ")
for i in result.split():
    count+=int(i)

print(count)

在这里插入图片描述

import re
s = "ab34aa243dd78eww89"
result = ""
s=re.sub(r"[a-z]","*",s)
arr1=re.split("\\*+",s)  #['', '34', '243', '78', '89']
for i in range(len(arr1)):
    count=0
    if arr1[i].isdigit():
        for j in arr1[i]:
            count+=int(j)
    if count!=0:
        arr1[i]=str(count)

arr2=re.split("\\d+",s)  #['**', '**', '**', '***', '']
for i in range(len(arr1)):
    result+=arr1[i]+arr2[i]

print(result)

在这里插入图片描述
练习2:
一个字符串 i am learning,请按照如下规则转换为数字
abcd-5,efgh-10,ijkl-15,mnop-20,qrst-25,uvwx-30,yz-35
转换正确结果为:15 520 1510 52520152010

rule="abcd-5,efgh-10,ijkl-15,mnop-20,qrst-25,uvwx-30,yz-35"
rule=rule.split(",")
s="i am learning"
result=""
for i in s:
    for r in rule:
        if i in r:
            result+=r.split("-")[1]
            break
    else:
        result+=i

print(result)

在这里插入图片描述
练习3:
从控制台输入一串字母,判断是否是连续相同字母,是则输出True,否则输出Flase。

def judge_str():
    s=input("请输入一串字符串:")
    if s[0]*len(s)==s and ((s[0]>='a' and s[0]<='z') or (s[0]>='A' and s[0]<='Z')):
        return True
    else:
        return False

judge_str()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值