Как распечатать четные строки и вернуть индекс? - PullRequest
0 голосов
/ 23 февраля 2020

Я прохожу курс python 3, и это был один из вопросов. У меня есть немного опыта в C ++, но только основы. Мой код приведен ниже, и я не получаю правильный результат, который хотел бы, я попытался go об этом так, как я думал, будет лучше без помощи inte rnet.

st = 'Print only the words that start with s in this sentence'
# Any words that have an even amount of characters in them must print index + "EVEN"

listOfSt = st.split()

for index in listOfSt:
    count = 0
    word = listOfSt[count]
    if len(word) % 2 == 0:
        print(word, " is even! at index: ", count)
    else:
        pass
    count = count + 1

Может кто-нибудь показать мне правильный путь к go по этому и любому другому полезному совету при выполнении заданий со списками?

Ответы [ 2 ]

0 голосов
/ 23 февраля 2020

Вы можете использовать enumerate здесь.

st = 'Print only the words that start with s in this sentence'
for idx,val in enumerate(st.split()):
     if len(val)%2==0:
         print(f'{val} is even at index {idx}')

Вывод:

only is even at index 1
that is even at index 4
with is even at index 6
in is even at index 8
this is even at index 9
sentence is even at index 10
0 голосов
/ 23 февраля 2020

Вы должны инициализировать count = 0 перед вашим для l oop. И, кстати, ваш else : pass бесполезен, вы можете удалить его.

st = 'Print only the words that start with s in this sentence'
# Any words that have an even amount of characters in them must print index + "EVEN"

listOfSt = st.split()

count = 0 # <--- HERE is the change !
for index in listOfSt:
    word = listOfSt[count]
    if len(word) % 2 == 0:
        print(word, " is even! at index: ", count)
    count = count + 1

Вывод:

only  is even! at index:  1
that  is even! at index:  4
with  is even! at index:  6
in  is even! at index:  8
this  is even! at index:  9
sentence  is even! at index:  10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...