我正在编写一个函数来取一个字符串并将其反转。我无法理解为什么我的代码返回一个反向字符串,但只有一半字符串传递给它。
Activated
答案 0 :(得分:4)
我不会发表完整的答案,但是:
请勿使用for
循环修改您正在迭代的列表。糟糕的事情会发生(你已经意识到了)
因此,您可以使用while
循环来完成任务。
您也可以使用for
循环,但最终会得到for i in range(len(temp)):
(请参阅其他答案),range(len(..))
构造相当“unpythonic” 。
答案 1 :(得分:1)
def reverse(text)
return text[::-1]
答案 2 :(得分:0)
我会使用reversedString = string[::-1]
,这是我认为最简单的方法。
答案 3 :(得分:0)
for i in range(len(text)):
reverse_text += temp.pop()
不要更改字符串。
答案 4 :(得分:0)
每次进行弹出操作时,您都会改变迭代的温度。
一种简单的方法就是弹出n次,其中n是temp的长度
def reverse(text):
temp = []
reverse_text = ""
for i in text:
temp.append(i)
print temp
for i in range(len(temp)):
# print i, temp[i]
reverse_text += temp.pop()
print reverse_text
答案 5 :(得分:0)
如果你做不到:
text[::-1]
尝试执行for循环:
text = 'Hello'
product=''
for x in range(len(text)-1, -1, -1):
product+=text[x]
return product