Как напечатать строку в обратном направлении для каждой буквы в отдельной строке, используя цикл while в python?

Я застрял в проблеме Excercise, где мне нужно напечатать слово «банан», перевернув каждую букву в отдельной строке.

Ниже мой код: -

  fruit = "BANANA"
  index = -1
  while len(fruit) > index:
     letter = fruit[index]
     print(letter)
     index = index -1

Выход:-

A

N

A

N

A

B

Отслеживание (последний вызов последний):

Файл "C: /Banana.py", строка 4, в

letter = fruit[index]

IndexError: string index out of range

0
0
1 191
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Создавать индекс не нужно. Фактически, это делает код менее эффективным и более подверженным ошибкам (как вы заметили). Вместо этого вы можете перевернуть свою строку с помощью [::-1] и просто перебрать ее, потому что итерация по строке означает прохождение каждого отдельного символа:

fruit = "BANANA"

for letter in fruit[::-1]:
    print(letter)

Вы можете указать команде print()-command (Доку) сделать все это за вас:

print(*("BANANA"[::-1]), sep="\n")

Выход:

A
N
A
N
A
B

Он переворачивает строку, использует * для разделения строки на ее символы и применяет '\n' в качестве разделителя между любыми двумя напечатанными элементами.

Другие вопросы по теме