006 单词倒序

006 单词倒序

题目描述

输入单词英文句子,里面包含英文字母、空格以及,.?三种标点符号,请将句子内每个单词进行倒序,并输出倒序后的语句。

输入描述

输入字符串S,S的长度1 <= N <=100

输出描述

输出逆序后的字符串。
备注:
标点符号左右的空格个数大于0,单词间的空格个数大于0。

示例描述

示例一

输入:

yM eman si boB.

输出:

My name is Bob.

示例二

输入:

woh era uoy ? I ma enif.

输出:

how are you ? I am fine.

解题思路

遍历单词英文句子中的每一个字符,判断是否为字母。
如果是字母,则用临时words字符串存储起来。
如果不是字母,则先将单词逆序存放到结果字符串result中,然后再拼接非字母的字符。
遍历结束后,返回结果字符串result。

解题代码

def solve_method(line):
    result = ""
    # 使用临时字符串存储单词
    words = ""
    for char in line:
        if char.isalpha():
            words += char
        else:
            # 将单词逆序
            result += words[::-1]
            words = ""
            result += char

    return result

if __name__ == '__main__':
    s = "yM eman si boB."
    assert solve_method(s) == "My name is Bob."

    s = "woh era uoy ? I ma enif."
    assert solve_method(s) == "how are you ? I am fine."

上一题 005 匿名信

下一题 007 基站维修工程师

猜你喜欢

转载自blog.csdn.net/weixin_45014634/article/details/143382082
006