Codewars第五天--Stop gninnipS My sdroW!

41 篇文章 1 订阅

Codewars第五天–Stop gninnipS My sdroW!

题目描述:
Write a function that takes in a string of one or more words, and returns the same string, but with all five or more letter words reversed (Just like the name of this Kata). Strings passed in will consist of only letters and spaces. Spaces will be included only when more than one word is present.
Examples:

spinWords( "Hey fellow warriors" ) => returns "Hey wollef sroirraw" 
spinWords( "This is a test") => returns "This is a test" 
spinWords( "This is another test" )=> returns "This is rehtona test"

题目为反转字符串中单词长度大于等于5的单词。代码如下:
先使用split()通过空格将每一个单词分给开来。
* split()函数split(str=”“, num=string.count(str)) 以str为分隔符截取字符串,如果num有指定值,则仅截取num个字符串。
* str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
* num – 分割次数。分割后的字符串转换为了list。
字符串实现反转的方法:
* 使用字符串切片:result = s[::-1]
* 使用列表的reverse():l = list(s) result = “”.join(l.reverse())””

最后再使用join 将每一个单词连接为一个字符串输出。

def spin_words(sentence):
    # Your code goes here
    sentence = sentence.split(" ")
    return " ".join([i[::-1] if len(i) >= 5 else i for i in sentence])

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值