这是一个简单的问题,可以在插入时使用pop()使代码打印输入字符串的反向字符串。我猜肯定有一种更简单的方法可以做到,但是我想知道为什么我的代码有错误的结果。我请你帮忙!
string=input('enter the string you want to reverse: ')
l_string=list(string)
print(l_string)
l_r_string=[]
while l_string:
l_r_string.insert(-1,l_string.pop())
print(l_rstring) #to check how the string is made up every step
print(''.join(l_r_string))
我认为插入的索引部分有问题。我只是将其设置为“ -1”以相反的顺序保存它。但是结果却是这样。
enter the string you want to reverse: 1234
['1', '2', '3', '4']
['4']
['3', '4']
['3', '2', '4']
['3', '2', '1', '4']
3214
答案 0 :(得分:1)
这样做:
s[::-1]
向后迭代字符串。
答案 1 :(得分:1)
some_numbers =[1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77]
rev_string = []
while len(some_numbers):
rev = some_numbers.pop(0)
rev_string.insert(0,rev)
print(rev_string)
答案 2 :(得分:0)
我不太清楚为什么insert方法会这样做。我的猜测是,由于某种原因,它在最后一个元素上保留4,然后只需要在此之前插入每个元素,但是另一种使用while,insert和pop的方法是使用len(l)而不是-1为索引。因此使用:
while l_string:
l_r_string.insert(len(l_r_string),l_string.pop())
print(l_r_string)
这将在列表末尾插入每个。 希望这会有所帮助!