Esta es la solución al Ejercicio #16: Cuenta subcadenas.
¿Pudiste resolver el ejercicio sin bucles anidados y sin usar expresiones regulares? ¡¡Bien!! ¡Has hecho un gran esfuerzo!
A continuación, te muestro un par de soluciones al problema planteado:
Solución 1
def cuenta_subcadenas_ax(cadena): cnt = 0 for i in range(len(cadena) - 1): if cadena[i] == 'A': cnt += cadena[i+1:].count('X') return cnt
Solución 2
def cuenta_subcadenas_ax(cadena): As_hasta_i = 0 total_hasta_i = 0 for i in cadena: if i == "A": As_hasta_i += 1 if i == "X": total_hasta_i += As_hasta_i return total_hasta_i