zoukankan      html  css  js  c++  java
  • 【python解题笔记20210317】CodeWars:Mumbling

    题目

    内容:检测传入大小写字母的字符串,按照如下规则输出:第1个字符输出1次,第二个字母输出2次,依次往后,另外每个首字母大写,其他小写

    链接:https://www.codewars.com/kata/5667e8f4e3f572a8f2000039/train/python

    截图:

      

    解题

    思路: 

    1、首先需对传入的字符串进行逐个单词分隔成列表,使用list()函数。

    2、对得到的列表中字母按照1、2、3的次数叠加相同的字母,使用str*i(次数)。

    3、此时得到的字符串大小写情况不确定,使用title()函数将首字母转换成大写,其他字母转换成小写。

    4、定义1个结果字符串将每轮得到的字符串+分隔符‘-’拼接起来。

    5、由于上述得到的结果结尾处多1个'-',使用strip('-')指定删除首尾的'-',得出最终的结果。

    结果:

      

    源码:

    def accum(s):
        """
        检测传入大小写字母的字符串,按照如下规则输出
        accum("abcd") -> "A-Bb-Ccc-Dddd"
        accum("RqaEzty") -> "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy"
        accum("cwAt") -> "C-Ww-Aaa-Tttt"
        :param s: 传入字符串、只包含大小写
        :return: 输出字符串,按照第1个字符输出1次,第二个字母输出2次,依次往后,另外每个首字母大写,其他小写
        """
        s=list(s)   #将传入字符串转换成列表
        result=''   #定义空字符串用于存储最后的结果
        print(s)
        j=0
        for i in s:
            j += 1    #每次循环j+1,用于得到每次循环时生成的字母重复次数
            i=i*j     #生成重复的字母
            i=i.title()   #使用title()函数将首字母转换成大写,其他字母转换成小写
            print(i)
            result=result+i+'-'   #将每轮生成的字符串拼接在result字符串中,以及拼接上'-',此时最后一位多个1个'-'
            pass
        print(result)
        result=result.strip('-')    #使用strip()方法去除首尾的'-',由于前面没有'-',最终只删除了最后1位的'-'
        print(result)
        return result

    知识点

    1、strip()函数用于字符串头部和尾部的指定字符串,默认为空格或换行符,但可以指定字符串,如本次用到的strip('-')。

    2、list()函数可以将字符串转换成列表。

    3、字符串的拼接可以使用str1+str2号,也可以使用str*次数,来快速获取相同的字符串。(另外,PS:append函数用于在列表末尾添加新的对象。)

    参考资料:

    https://www.runoob.com/python3/python3-upper-lower.html

    https://www.cnblogs.com/xiaoleiel/p/8301402.html

    https://blog.csdn.net/runner668/article/details/81067458

  • 相关阅读:
    软件测试人员的年终绩效考核怎么应对
    收藏
    顶踩组件 前后两版
    订阅组件
    hdu 1963 Investment 完全背包
    hdu 4939 Stupid Tower Defense 动态规划
    hdu 4405 Aeroplane chess 动态规划
    cf 414B Mashmokh and ACM 动态规划
    BUPT 202 Chocolate Machine 动态规划
    hdu 3853 LOOPS 动态规划
  • 原文地址:https://www.cnblogs.com/chooperman/p/14547765.html
Copyright © 2011-2022 走看看