Для этого в Python цикл while:
def last_vowel(s):
Return the last vowel in s if one exists; otherwise, return None.
i = ________
while i >= 0:
if s[i] in 'aeiouAEIOU':
return s[i]
i = i - 1
return None
Вопрос в том, чтобы найти выражение i, которое оказывается len (s) - 1, а не len (s). Может ли кто-нибудь объяснить мне, почему это так?
2 ответа
Это связано с тем, что строки (и массивы, поскольку на самом деле строки являются просто специальными массивами) индексируются 0. Это означает, что хотя строка может иметь длину L
, последний элемент на самом деле будет L - 1
.
Например, возьмем эту строку
"hello"
Он имеет длину 5, но на самом деле последний символ имеет индекс 4.
+-------+---+---+---+---+---+
| index | 0 | 1 | 2 | 3 | 4 |
+-------+---+---+---+---+---+
| char | h | e | l | l | o |
+-------+---+---+---+---+---+
Индексирование Python основано на 0
. Итак, первый символ в string
имеет индекс 0
, а последний - перед длиной string
. См. Эту небольшую таблицу:
String: "hello"
Index : 01234
Посмотрите, как последний символ находится в индексе 4
- это len(...) - 1
!
Итак, это объясняет, почему нам нужно инициализировать i
как len(s) - 1
, поскольку s[len(s) - 1]
- это последний символ в s
.
Затем алгоритм предлагает также проверить этот символ, чтобы увидеть, гласная ли это, если да, то return
гласная, в противном случае уменьшите i
на 1
так, чтобы в следующем цикле { {X3}} мы смотрим на предыдущего персонажа.
Затем для этого персонажа применяем те же методы.
Наконец, функция либо вернет гласную, ближайшую к концу, либо достигнет конца цикла while
(i == 0
) и будет return None
, как описано функциональными возможностями функции .
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.