Codewars刷题升级 (Python)6Kyu Mexican Wave 墨西哥人浪

题目描述:

In this simple Kata your task is to create a function that turns a string into a Mexican Wave. You will be passed a string and you must return that string in an array where an uppercase letter is a person standing up.
在这个简单的任务中,您的任务是创建一个将字符串转换成墨西哥人浪的函数。参数是一个字符串,返回一个字符串各字母依次大写的字符串数组。

Rules
规则

  1. The input string will always be lower case but maybe empty.
    输入的字符串都是小写字母,但可能有空格。
  2. If the character in the string is whitespace then pass over it as if it was an empty seat.
    如果字符串中字符是空白,那么像空座位一样跳过它。

Example
示例

wave("hello") => ["Hello", "hEllo", "heLlo", "helLo", "hellO"]

解题思路:
因为字符串是无法修改的,所以将字符串转换成列表list,下标循环列表中,是字母的话将字母转换成大写,空格的话跳过,再将列表转换成字符串添加到结果列表。

代码实现:

def wave(str):
    # Code here
    result=[]
    for i in range(len(str)):
        str=str.lower()
        temp_list=list(str)
        if temp_list[i].isalpha():
            temp_list[i]=str[i].upper()
            str=''.join(temp_list)
            result.append(str)
    return result

你可能感兴趣的:(Codewars刷题)