код python для обратного преобразования массива без использования функции

#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. Я добавил скриншот вывода в свой ответ. Я просто получаю [«болеро», «балено», «свифт»] в качестве вывода.