Dan*_*äck 2 python string reverse loops function
我停留在一个练习中,我需要在一个函数中使用一个循环(for循环或while?)来反转一个随机字符串.
我不能在这里使用".join(reversed(string))或string[::-1]方法,所以这有点棘手.
我的代码看起来像这样:
def reverse(text):
while len(text) > 0:
print text[(len(text)) - 1],
del(text[(len(text)) - 1]
Run Code Online (Sandbox Code Playgroud)
我用它,来打印出同一行文本中的每一个字母!
我的语法无效 del(text[(len(text)) - 1]
有什么建议?
Python字符串不可变,因此您无法使用该del语句来删除字符.但是,您可以在循环原始字符串时构建新字符串:
def reverse(text):
rev_text = ""
for char in text:
rev_text = char + rev_text
return rev_text
reverse("hello")
# 'olleh'
Run Code Online (Sandbox Code Playgroud)
问题是你不能del在 python 中使用字符串。然而,这段代码无需 del 即可工作,并且有望达到目的:
def reverse(text):
a = ""
for i in range(1, len(text) + 1):
a += text[len(text) - i]
return a
print(reverse("Hello World!")) # prints: !dlroW olleH
Run Code Online (Sandbox Code Playgroud)