Вложенная переменная счетчика цикла не увеличивается должным образом ⇐ Python
-
Anonymous
Вложенная переменная счетчика цикла не увеличивается должным образом
Я новичок в Python и программировании в целом.
Итак, я написал этот код для практики.
Метод count_abecedarian_words() получает тестовый список и для каждого слова в списке проверяет, существует ли оно в >abecedarian_list с помощью метода check_index(), и следующая буква в слове находится после текущей в абеседовом списке.
Например:
word = 'abcd' а предшествует б б идет перед с с идет перед d Другой пример:
word = 'abcef' а предшествует б б идет перед с с идет перед е е идет перед f Итак, в обоих этих примерах значение counter_letter должно увеличиться на +1, поскольку условие if:
abecedarian_list.index(word[counter_letter]) < abecedarian_list.index(word[counter_letter + 1]) верно.
И затем сохраняет это значение до тех пор, пока не дойдет до последней буквы строки.
Результатом должен быть счетчик от 1 до количества элементов в списке, который содержит только буквы:
1 2 3 4 Я хочу знать, почему в функции check_index во время итерации счетчик (counter_letter) не увеличивается на 1 для каждой итерации. когда я отлаживаю его с помощью печати, он просто застревает на номере 1.
test = ["abc","acb","abf","abcef"] # список слов защита count_abecedarian_words(word_list): abecedarian_list = ["a","b","c", "d", "e", "f", "g", "h","i","j","k","l" ,"m","n","o","p","q","r","s","t","u","v","w","x"," й","з"] counter_abecedarian = 0 для слова в word_list: защита check_index(): counter_letter = 0 для y в слове: if abecedarian_list.index(word[counter_letter]) < abecedarian_list.index(word[counter_letter + 1]): счетчик_буква = счетчик_буква + 1 print(counter_letter) # при появлении этого запроса мне выдается 4 строки с цифрой «1» вернуть истину еще: вернуть ложь если check_index() == Истина: counter_abecedarian += 1 вернуть counter_abecedarian print(f"Количество абеседарских слов: {count_abecedarian_words(test)}")
Я новичок в Python и программировании в целом.
Итак, я написал этот код для практики.
Метод count_abecedarian_words() получает тестовый список и для каждого слова в списке проверяет, существует ли оно в >abecedarian_list с помощью метода check_index(), и следующая буква в слове находится после текущей в абеседовом списке.
Например:
word = 'abcd' а предшествует б б идет перед с с идет перед d Другой пример:
word = 'abcef' а предшествует б б идет перед с с идет перед е е идет перед f Итак, в обоих этих примерах значение counter_letter должно увеличиться на +1, поскольку условие if:
abecedarian_list.index(word[counter_letter]) < abecedarian_list.index(word[counter_letter + 1]) верно.
И затем сохраняет это значение до тех пор, пока не дойдет до последней буквы строки.
Результатом должен быть счетчик от 1 до количества элементов в списке, который содержит только буквы:
1 2 3 4 Я хочу знать, почему в функции check_index во время итерации счетчик (counter_letter) не увеличивается на 1 для каждой итерации. когда я отлаживаю его с помощью печати, он просто застревает на номере 1.
test = ["abc","acb","abf","abcef"] # список слов защита count_abecedarian_words(word_list): abecedarian_list = ["a","b","c", "d", "e", "f", "g", "h","i","j","k","l" ,"m","n","o","p","q","r","s","t","u","v","w","x"," й","з"] counter_abecedarian = 0 для слова в word_list: защита check_index(): counter_letter = 0 для y в слове: if abecedarian_list.index(word[counter_letter]) < abecedarian_list.index(word[counter_letter + 1]): счетчик_буква = счетчик_буква + 1 print(counter_letter) # при появлении этого запроса мне выдается 4 строки с цифрой «1» вернуть истину еще: вернуть ложь если check_index() == Истина: counter_abecedarian += 1 вернуть counter_abecedarian print(f"Количество абеседарских слов: {count_abecedarian_words(test)}")
Мобильная версия