【问题标题】:CodingBat practice question - Python StringsCodingBat 练习题 - Python Strings
【发布时间】:2020-11-13 17:07:50
【问题描述】:

我尝试在 CodingBat 上解决下面的这个 python 问题:

“给定一个字符串(str),返回一个新字符串,其中第一个和最后一个字符已经交换”。

这是我尝试解决的问题...结果不正确并返回错误“字符串索引超出范围”。

def front_back(str):
    return str[-1] + str[1:-1] + str [0]

如果有人能指出我在这里遗漏的内容并解释,我将不胜感激。

谢谢。

【问题讨论】:

  • 这不适用于空字符串。

标签: python string function


【解决方案1】:

看看下面修改后的功能是否适合你。

def front_back(str):
    if len(str) == 0:
        return ''
    if len(str) == 1:
        return str
    return str[-1] + str[1:-1] + str [0]

【讨论】:

  • 你可以只做if len(str) <= 1: return str 而不是两个单独的if 检查。
【解决方案2】:

不适用于空字符串,使用if 添加一些智能处理;-)(不要使用str 作为变量名)

def front_back(mystr):
    return mystr[-1] + mystr[1:-1] + mystr[0] if mystr else mystr

【讨论】:

    猜你喜欢
    • 2015-03-01
    • 2014-03-14
    • 2013-12-16
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    • 2010-11-06
    相关资源
    最近更新 更多