py_pattern_tracker

Código comentado línea a línea y paso a paso:

Entregas: py_pattern_tracker.py con pattern_tracker(text). Rank 03 · nivel 3.

Qué pide (en palabras normales)

Subject (enunciado original)
Write a function that counts the number of valid consecutive digit pairs
in a string. A valid pair consists of two adjacent digits where the second
digit is exactly one greater than the first.
A 9 followed by a 0 is NOT a valid pair.

Expected file: py_pattern_tracker.py
Function signature:
def pattern_tracker(text: str) -> int:

Examples:
pattern_tracker("123")
=> 2
pattern_tracker("12a34")
=> 2
pattern_tracker("987654321")
=> 0
pattern_tracker("01234567")
=> 7
pattern_tracker("abc")
=> 0
pattern_tracker("1a2b3c4")
=> 0
pattern_tracker("112233")
=> 2

Solución

count = 0
for a, b in zip(text, text[1:]):
    if a.isdigit() and b.isdigit() and int(b) - int(a) == 1:
        count += 1
return count

zip(text, text[1:]) es el truco: recorre el string de dos en dos solapados, sin índices ni range(len(text) - 1). Las letras en medio hacen que la pareja no sea de dos dígitos y se descarta sola.

Trampas