Как зациклить список различных элементов внутри функции в Python? - PullRequest
0 голосов
/ 01 сентября 2018

Я только начинаю работать с функциями в Python. Моя цель состоит в том, чтобы зациклить список с фруктами, и для каждого фрукта печатать буквы в обратном порядке. Когда он ударяет по специальному персонажу, он останавливается и переходит к следующему фрукту. Я пытался делать это с циклом и каждый раз добавлять к индексу, но он только правильно напечатал бы первый фрукт. Если я просто поставлю код для каждого фрукта пять раз, он отлично работает. Пожалуйста, помогите мне исправить индекс. Код ниже.

def reverse(li):
    c = 1
    while c == 1:
        index = 0
        for c in reversed(li[index]):
            if c.isalpha():
                print(c, end="")
                index += 1
            else:
                print()
                index += 1
                break

fruits = ['ap!ple','bana@na','ma%ngo','#orange','pine*apple']
reverse(fruits)

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Вы устанавливаете index на 0, поэтому используется только первая запись. Кроме того, c после первой итерации никогда не будет равно 1, поэтому цикл while запускается только один раз.

Лучше создать новую строку, например, с помощью takewhile и выведите его внутри цикла for для всех слов:

from itertools import takewhile

def reverse(words):
    for word in words:
        print(''.join(takewhile(str.isalpha, reversed(word))))

fruits = ['ap!ple','bana@na','ma%ngo','#orange','pine*apple']
reverse(fruits)
0 голосов
/ 01 сентября 2018

Вы просматриваете только первый элемент списка (reversed(li[index])).

def reverse(li):
    for word in li:
        for rev_word in reversed(word):
            if rev_word.isalpha():
                print(rev_word, end="")
            else:
                print()
                break

fruits = ['ap!ple','bana@na','ma%ngo','#orange','pine*apple']
reverse(fruits)

Выход:

elp
an
ogn
egnaro
elppa
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...