给定一个字符串,返回一个新字符串,其中第一个和最后一个字符已交换

时间:2019-02-07 17:12:01

标签: python

给出一个字符串,返回一个新字符串,其中第一个和最后一个字符已交换。

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]

哪个是错的?

1 个答案:

答案 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'