Python Codecademy:7。反向 - 需要审查代码

时间:2017-08-22 09:27:07

标签: python

为什么代码学院不接受以下代码? 它似乎适用于可视化工具......

目标:定义一个名为reverse的函数,它接受一个字符串文本并反向返回该字符串。例如:reverse(" abcd")应返回" dcba"。 您不能使用反向或[:: - 1]来帮助您。

我的代码在这里:

def reverse(text):  

  letters = []
  for abc in text:
    letters.append(abc)

  reverse = []
  while len(letters) > 0:
    reverse.append(letters[len(letters)-1])
    letters.pop()

  final = "".join(reverse)
  return final

3 个答案:

答案 0 :(得分:0)

您可以使用稍微简化的代码:

def reverse(text):  
    letters = list(text)
    final = []
    while len(letters) > 0:
       final.append(letters[-1])
       letters.pop()

    final = "".join(final)
    return final

答案 1 :(得分:-1)

您可以直接reverse.append(letters.pop())或:

reverse = ''
while len(letters) > 0:
    reverse += letters.pop()
return reverse

答案 2 :(得分:-1)

使用迭代器而不是更改源数据是一种很好的做法。

def reverse(s):
    return ''.join(x for x in reversed(s))