py_hidenp · Python
▶ Aprender py_hidenp (Python) paso a paso · explicación de py_hidenp
Código línea a línea
Tres columnas: el código, el trozo del subject o del main que obliga a escribir esa línea, y el por qué.
py_hidenp.py
| Código | Subject | Por qué |
|---|---|---|
def hidenp(small: str, big: str) -> bool: | def hidenp(small: str, big: str) -> bool: | Firma del subject. |
i = 0 | all characters of 'small' appear in 'big' in the same order | Puntero a la siguiente letra de small que busco. |
for ch in big: | Recorro big una sola vez. | |
if i < len(small) and ch == small[i]: | Function is case-sensitive. | Si es la letra que busco, avanzo el puntero. Comparación exacta, sin lower(). El i < len(small) evita salirme cuando ya encontré todo. |
i += 1 | but not necessarily consecutively | Las letras de big que no coinciden simplemente se saltan: por eso no hace falta que sean consecutivas. |
return i == len(small) | hidenp("", "abc") => True | Encontré todas las letras si el puntero llegó al final. Con small vacío es 0 == 0: True, como pide el ejemplo. |