python题目54:翻转指定区间的单词顺序

输入一个英文文章片段 翻转指定区间的单词顺序,标点符号和普通字母一样处理 例如输入字符串 "I am a developer." 区间[0,3]则输出 "developer. a am I"

输入描述: 使用换行隔开三个参数 第一个参数为英文文章内容即英文字符串 第二个参数为反转起始单词下标,下标从0开始 第三个参数为结束单词下标。

输出描述 反转后的英文文章片段,所有单词之间以一个半角空格分割进行输出

示例一: 输入 I am a developer. 1 2 输出 I a am developer.

示例二: 输入 Hello world! 0 1 输出 world! Hello 说明: 输入字符串可以在前面或者后面包含多余的空格, 但是反转后的不能包含多余空格

示例三: 输入: I am a developer. 0 3 输出 developer. a am I 说明: 如果两个单词见有多余的空格 将反转后单词间的空格减少到只含一个 示例四: 输入 Hello! 0 3 输出 EMPTY 说明: 指定反转区间只有一个单词,或无有效单词则统一输出EMPTY 

def reverseword(str0, k, m) -> object:
    # print str0,k,m
    list1 = str0.split(" ")  # string to array
    length = len(list1)
    # print length,list1
    print
    "Output:"
    if k >= m or k >= length or m >= length:
        # print "False"
        print
        str0
        return False
    else:
        list2 = list1[0:k]
        list3 = list1[k:m + 1]
        list4 = list3[::-1]
        list5 = list1[m + 1:]
        list2.extend(list4)
        list2.extend(list5)
        str1 = ' '.join(list2)  # array to string
        print
        str1


str0 = input("Input: ")
k = input()
m = input()
reverseword(str0, k, m)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值