python-字符串操作(赛氪OJ)

devtools/2024/9/23 3:33:57/

[题目描述]
给定长度为 n 的只有小写字母的字符串 s ,进行 m 次操作,每次将 [l,r] 范围内所有 c1 字符改成 c2 ,输出操作完的字符串。
输入格式:
第一行两个数 n , m ,
第二行一个字符串 s ,
之后 m 行,每行两个数 l r 两个字符 c1 c2 。
输出格式:
输出一行一个字符串。
样例输入
5 3
wxhak                                                                        3 3 h x                                                                        1 5 x a                                                                        1 3 w g
样例输出
gaaak
数据范围
对于 100% 的数据,保证 1≤n,m≤100 。
样例说明
第一次修改后为wxxak,
第二次修改后为waaak,
第三次修改后为gaaak。
来源/分类(难度系数:三星)
字符串 模拟 


完整代码展示:
m,n=map(int,input().split())
strip=list(input())
list_1=[]
for i in range(0,n):
      list_2=list(map(str,input().split()))
      list_1.append(list_2)
for i in range(0,len(list_1)):
      c1=eval(list_1[i][0])-1
      c2=eval(list_1[i][1])
      list_3=strip[c1:c2]
      list_4=strip[0:c1]
      list_5=strip[c2::]
      for j in range(0,len(list_3)):
            if list_3[j]==list_1[i][2]:
                list_3[j]=list_1[i][3]
      strip=list_4+list_3+list_5
sum=""
for i in range(0,len(strip)):
      sum+=strip[i]
print(sum)


代码解释:
m,n=map(int,input().split())
 strip=list(input())
                  ”,让用户输入字符串长度m和需要对字符串进行操作的次数n。接着让用户输入字符串并将其储存在列表strip中。
list_1=[]
 for i in range(0,n):
       list_2=list(map(str,input().split()))
       list_1.append(list_2)                      
”,建立一个空列表list_1,循环n次:让用户输入字符串每次操作的位置及需要替换的字符,替换字符,将其储存在列表list_2中,最后将list_2添加进列表list_1中。
for i in range(0,len(list_1)):
       c1=eval(list_1[i][0])-1
       c2=eval(list_1[i][1])
       list_3=strip[c1:c2]
       list_4=strip[0:c1]
       list_5=strip[c2::]
       for j in range(0,len(list_3)):
             if list_3[j]==list_1[i][2]:
                  list_3[j]=list_1[i][3]
       strip=list_4+list_3+list_5 
 ”,遍历list_1中元素,按照元素要求对列表strip中元素其进行操作。
sum=""
 for i in range(0,len(strip)):
       sum+=strip[i]
 print(sum)                           
”,建立一个空字符串sum,依次连接操作结束后列表strip中的元素。打印sum的最中结果。


运行效果展示:

7238be1837af404cbf6512e195e4a0e3.jpg

c5b120995097467cb5087f5c621ec704.jpg 

             (声明:以上内容均为原创)

 


http://www.ppmy.cn/devtools/96721.html

相关文章

美团笔试-测试方向

美团笔试——测试方向(选择题) 1.已知10个元素(54、28、16、34、73、62、95、60、26、43)按依次插入生成二叉排序树,查找每个元素平均比较次数(2.9) 计算平均比较次数: 总比较次数 1 2 3 3…

windows安装android studio

下载 https://developer.android.google.cn/studio?hlzh-cn 安装 打开cmd输入如下命令 android-studio-2024.1.1.12-windows.exe /NCRC 注意 运行命令后可能还报错,但是会出现弹窗 如果还是报错可以选择zip 运行 不设置代理 等待下载即可,…

[数据集][目标检测]电力场景轭式悬架锈蚀分类数据集6351张2类别

数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):6351 分类类别数:2 类别名称[corrosion,good] 每个类别图片数: corrosion 图片数:310 good 图片数:6041 …

【数据结构】二叉树链式结构的实现

前置声明:在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在大家对二叉树结构掌握还不够深入,为了降低大家学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉…

nvm报错解决:配置最新淘宝镜像源

1、nvm修改配置的淘宝镜像 修改: 找到\nvm\nvm\settings.txt文件,配置如下 node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/ 2、验证: nvm list available 验证成功 3、全局配置最新淘…

linux tomcat jenkins 迁移

最近由于我们的测试和生产环境jenkins频频发生错误,索性尝试了一把在阿里云上做jenkins迁移 在阿里云jenkins安装模式是用tomcat安装部署的 [rootk8s-master local]# ls aegis bin cloudmonitor etc games go ilogtail include lib lib64 libexec sbin…

Docker 部署RocketMQ

1.namesrv 1.1 拉取rocketMQ镜像 docker pull apache/rocketmq:4.9.4 1.2 创建nameserver数据存储目录 rocketMQ 分为nameserver和broker两部分,在启动时应该先启动nameserver,因此我们现在先创建nameserver的日志和数据存放目录。这个目录可由我们自己…

【Mdijourney】AI作画提示词工程:精细化技巧与高效实践指南

文章目录 💯AI作画提示词基础结构1 图片链接1.1 上传流程 2 文字描述3 后置参数 💯AI作画提示词的文字描述结构1 主体主体细节描述2 环境背景2.1 环境2.2 光线2.3 色彩2.4 氛围 3 视角4 景别构图5 艺术风格6 图片制作方法7 作品质量万能词 💯…