У меня есть код, который я хочу распечатать этот список в обратном порядке, но это не сработало.
Он печатает [2 , 4 , 6 , 8 , 10, 10]
def printBackwards (list) :
i = len(list)
while (i > 0):
list.append(list[i-1])
i = i +1
print(list)
return
myslist = [2 , 4 , 6 , 8 , 10]
printBackwards(myslist)
Я хочу распечатать [10 , 8 , 6 , 4 , 2]
Как это можно сделать?
Обновлено: я хочу использовать свой код не [::-1]
или reverse()
или что-то из другого сообщения, которое я видел. так что это не дубликат. Я не хочу просто работать с каким-либо кодом, однако я хочу отредактировать свой код, чтобы он работал. Спасибо.
Не используйте list
в качестве имени переменной
Предоставленный вами код никоим образом не печатает [2 , 4 , 6 , 8 , 10, 10]
. У вас бесконечный цикл, и ваш отступ неверен. Также return
здесь ничего не делает.
Вы можете создать локальный список в обратном порядке, используя insert
def print_backwards(in_list):
out = []
for x in in_list:
out.insert(0, x)
print(out)
def printBackwards(x) :
i = len(x)
new_x = []
while (i > 0):
new_x.append(x[i-1])
i -= 1
print(new_x)
myslist = [2 , 4 , 6 , 8 , 10]
printBackwards(myslist)
Используйте i-=1
для уменьшения индекса и, возможно, вы захотите создать новую переменную для хранения результата.
Кроме того, вы также можете добавить свой результат в существующий список и распечатать вторую часть после цикла.
def printBackwards(x) :
i = len(x)
n = i
while (i > 0):
x.append(x[i-1])
i -= 1
print(x[n:])
i=i-1
нетi=i+1
наверное