HOME: Right to Left —— 字符串替代和组合

CheckIO是一个通过闯关游戏学习编程的网站(Python和JavaScript)。通过解题开发新“岛屿”,同时,通过做任务获得Quest Points解锁会员题目。
文章内容:题目、我自己的思路和代码以及优秀代码,如果想看大神解题可以直接跳到“优秀代码”部分。
本题链接:https://py.checkio.org/en/mission/right-to-left/

题目

将多个字符串中的“right”改为“left”,并组合成一个字符串

输入: 字符串序列组成的元组
输出: 以逗号分隔的字符串

举个栗子:

left_join(("left", "right", "left", "stop")) == "left,left,left,stop"
left_join(("bright aright", "ok")) == "bleft aleft,ok"
left_join(("brightness wright",)) == "bleftness wleft"
left_join(("enough", "jokes")) == "enough,jokes"

应用场景:对字符串的操作

假设

  • 0 ≤字符串长度 < 42

难度: Elementary

题目框架

def left_join(phrases: tuple) -> str:
	# Your code here
    return ''

if __name__ == '__main__':
    print('Example:')
    print(left_join(("left", "right", "left", "stop")))
    
    #These "asserts" using only for self-checking and not necessary for auto-testing
    assert left_join(("left", "right", "left", "stop")) == "left,left,left,stop", "All to left"
    assert left_join(("bright aright", "ok")) == "bleft aleft,ok", "Bright Left"
    assert left_join(("brightness wright",)) == "bleftness wleft", "One phrase"
    assert left_join(("enough", "jokes")) == "enough,jokes", "Nothing to replace"
    print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")

思路及代码

思路

  1. 依次判断各个字符串中是否有“right”,有的话改为“left”
  2. 将各字符串结合为一个以逗号分隔的长字符串

代码

def left_join(phrases: tuple) -> str:
    list1 = []
    for i in phrases:
       if 'right' in i:
           list1.append(i.replace('right', 'left'))
       else:
           list1.append(i)
    return ','.join(list1)

优秀代码

No.1

def left_join(phrases):
    return (",".join(phrases)).replace("right","left")

No.2

def left_join(phrases: tuple) -> str:
    words = list(phrases)
    for i in range(len(words)):
        words[i] = words[i].replace('right', 'left')
    return ','.join(words)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值