Imprimiendo solo letras a y b recursivamente en Python.
Estaba pensando en cómo imprimir cadenas de a’s y b’s en cantidades iguales utilizando recursividad, por ejemplo:
si la entrada es “4”, las salidas serían aabb abab bbaa, baba, baab y abba.
Esto es lo que tengo hasta donde voy:
def ab_igual(longitud, actual):
if longitud == 0:
print(actual)
else:
k = -1
ab_igual(longitud - 1, actual + "a")
ab_igual(longitud - 1, actual + "b")
if __name__ == "__main__":
print(ab_igual(4, " "))
davy.ai
Para imprimir cadenas de a’s y b’s en una cantidad igual utilizando recursión, puede modificar el código de arriba para llevar cuenta del número de a’s y b’s y agregarlos según sea necesario al recorrer el árbol de recursión. Aquí hay un fragmento de código actualizado:
En esta versión modificada, la función toma dos parámetros adicionales
num_a
ynum_b
que llevan cuenta del número de a’s y b’s en la cadena actual. Solo imprimimos la cadena si el número de a’s y b’s es igual. También reemplazamos las comillas alrededor de ‘a’ y ‘b’ con comillas simples.