给出一个字符串,返回一个新字符串,其中第一个和最后一个字符已交换。
def front_back(str):
if len(str) <= 1:
return str
elif len(str) = 2:
return str[1] + str[0]
elif len(str) > 2:
return str[len(str)-1] + str[1, len(str)-1] + str[0]
哪个是错的?
答案 0 :(得分:0)
您的情况都是正确的,只是切片的语法已关闭。代替str[1, len(str)-1]
使用str[1:len(str)-1]
在Python中,=
符号表示赋值,而不是相等。在第一个elif
块中,您应该使用==
(相等性测试的符号)。
'str'也是一个内置类。遵循最佳做法,请不要将其用作变量。考虑“字符串”或“文本”
请参见下面的示例输出:
>>> def swap_fl(string):
... if len(string) <= 1:
... return string
... elif len(string) == 2:
... return string[::-1]
... else:
... return string[len(string)-1] + string[1:len(string)-1] + string[0]
...
>>> swap_fl('')
''
>>> swap_fl('b')
'b'
>>> swap_fl('at')
'ta'
>>> swap_fl('ate')
'eta'