#python #arrays #reverse
Вопрос:
Моя задача состоит в том, чтобы создать пустой массив и принять входные данные от пользователя, но я должен напечатать элемент ввода в обратном порядке без функции, которая тоже находится в самом массиве.
x=int(input('how many cars do you have'))
a=[]
for i in range(x):
car=(input('enter your car name'))
a.append(car)
print(a)
y=[]
for i in range(length(a)-1,-1,-1):
y.append(a[i])
print (y)
Почему я получаю повторный вывод обратного массива с помощью этого кода. Может кто-нибудь, пожалуйста, сказать мне, что в этом плохого
Комментарии:
1. Ответ ХиДа верен. Ваш
print (y)
имеет отступ, что означает, что он есть вif
инструкции, то есть с каждой итерацией он печатает y. Так что просто удалите отступ/четыре пробела передprint (y)
.
Ответ №1:
Используйте нарезку на любой последовательности, чтобы повернуть ее вспять :
print(list[::-1])
Ответ №2:
Если вы ищете метод с нуля без использования какой-либо встроенной функции, этот метод подойдет
arr = [1,2,3,5,6,8]
for i in range(len(arr)-1):
arr.append(arr[-2-i])
del(arr[-3-i])
print(arr)
# [8, 6, 5, 3, 2, 1]
Ответ №3:
Вы хотите изменить свой список?
a = ['car1', 'car2', 'car3']
a.reverse()
print(a)
['car3', 'car2', 'car1']
Ответ №4:
вы должны использовать нарезку. например,
a = ['1','2','3']
print(a[::-1])
напечатают ['3','2','1']
. Я надеюсь, что это сработает для вас.
Счастливого Обучения!
Ответ №5:
Ваш код выдает мне правильные выходные данные, за исключением того, что len()
он используется для вычисления длины списка, а не length()
.
x=int(input('how many cars do you have'))
a=[]
for i in range(x):
car=(input('enter your car name'))
a.append(car)
print(a)
y=[]
for i in range(len(a)-1,-1,-1):
y.append(a[i])
print(y)
Комментарии:
1. сколько у вас автомобилей3 введите имя своей машины. введите имя своей машины. Введите имя своей машины. Балено [‘swift’, ‘baleno’] введите имя своей машины. болеро [‘swift’, ‘baleno’, ‘болеро’] [‘болеро’] [‘болеро’,’ балено’] [‘болеро’,’ балено’] [‘болеро’, ‘балено’] [‘болеро’, ‘балено’]…. я говорю о третьей последней и второй последней строке…. возможно ли получить только последнюю строку.
2. Я добавил скриншот вывода в свой ответ. Я просто получаю [«болеро», «балено», «свифт»] в качестве вывода.