Python 救基友记2

本文通过一个具体的字符串处理问题,介绍了如何使用Python找出并修改特定子串的方法。问题来源于一个趣味编程挑战,要求找出字符串中所有子串cRazY或CraZy,并进行大小写反转。文章提供了完整的代码实现,并分享了解题思路。
摘要由CSDN通过智能技术生成

Description
屌丝WP的好基友CZ又被妖鬼给抓走了(CZ啊,CZ….怎么说你好呢….吃着锅里想着碗里),为了求出CZ,他只好去求高富帅RQ, RQ给WP出了到题目说只要你能解决这道题目,他就答应帮屌丝WP去解救好基友CZ。题目描述如下:
给你一个字符串s,长度小于1000,让你找出该字符串所包含的所有子串"cRazY" 或者"CraZy",并将找出的子串的大写字母变成小写字母,小写字母变成大写字母,然后输出该字符串。
“好基友,一被子” 你作为WP的好基友,能帮他解决这个问题吗?
Input
第1行是一个整数T,表示测试数据的个数(1<=T<=10)。接下来有T组测试数据。
每组测试数据包括包括一个字符串s

Output
输出T行,表示转换后的字符串
在这里插入图片描述

def findStr(str1,str2):
    l1 = len(str1)
    list = []
    i = 0
    while str2 in str1[i:].lower():
        s = str1.lower().index(str2,i,l1)
        list.append(s)
        i = s + len(str2)
    return list

if __name__ == '__main__':
    n = int(input())
    for i in range(0, n):
        st = input()
        st2 = 'crazy'
        list = findStr(st,st2)
        if len(list) == 0:
            print(st)
        else:
            for j in range(0,len(list)):
                st = st.replace(st[int(list[j]):int(list[j])+5],st[int(list[j]):int(list[j])+5].swapcase(),1)
            print(st)

本人刚学Python,代码可能写的不是很好,目前在刷oj平台的题目,有些题目在网上找不到答案,所打算分享一下自己的代码,质量可能不是很好,但都是ac过的,关注我,不定时分析oj代码,如果各位有不会的,可以私聊我,一起研究

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

又菜又爱分享的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值