Operaciones esenciales en colecciones

4/23
Recursos

Aportes 12

Preguntas 2

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi√≥n.

Si se les dificulta entender lo que hace una función recursiva les recomiendo el Run and Debug de VScode.
Pueden ir viendo que hace el c√≥digo linea por linea, como cambian las variables, la llamada de la funci√≥n en la que te encuentras e ir imprimiendo los valores. Es una herramienta muy √ļtil que siempre uso cuando el c√≥digo es muy confuso, se las recomiendo.

Asi es como funciona amigos

si alguien tiene una duda con el codigo del profe bueno espero que esto les de una idea de como funciona la recursividad
 
lo hice asta tres, es que hacer un gif es difícil además no debía pasarme de los 20s, ignoren lo que esta debajo del if __name__ : "__main__" piramide(1,4) no me di cuenta asta que termine de editarlo XD

Resumen:
‚Ė†‚Ė†‚Ė†‚Ė†‚Ė†‚Ė†‚Ė†

Operaciones Esenciales en Colecciones:

Algunas operaciones b√°sicas responden necesidades puntuales como saber:

  • Tama√Īo: Las dimensiones
  • Pertenencia: Si un elemento pertenece o no.
  • Recorrido: Pasar por los elementos
  • String: Converir la colecci√≥n a un string.
  • Igualdad: Comparar colecciones
  • Concatenaci√≥n: Unir o sumar listas
  • Conversi√≥n de tipo: Convertir tipos de datos entre si
  • Insertar, Remover, Reemplazar, Acceder a n elementos en n posici√≥n.

Aqu√≠ se hace referencia a los m√©todos nativos de python para hacer ordenamientos, insertar, acceder y remover elementos. sort(), remove(), pop() Estos m√©todos son √ļtiles para determinadas tareas. Para sacar todo el provecho de estas se usar√°n junto a funciones c√≥mo esta:

'''
Crea espacios hacia la derecha si el n√ļmero lower es menor que el n√ļmero upper, cuando son diferentes, en cada llamada el n√ļmero lower base aumenta en 1 y la margen en 4 espacios.

El propósito de este  snipet  de código es ejemplificar qué tipo de conceptos (funciones, condicionales, recursividad) veremos en las estructuras de datos como métodos de clase. Si no entiendes la función no te rindas :), repasa y regresa.

'''


def pyramid_sum(lower, upper, margin =0):
	blanks = " " * margin
	print(blanks, lower, upper)
	if lower > upper:
		print(blanks, 0)
		return 0
	else:
		# Llamada recursiva
		result = lower+ pyramid_sum(lower + 1, upper, margin +4)
		print(blanks, result)
		return result

  
 
pyramid_sum(1,10)

Que divertido el código, sencillo, pero pone a prueba el pensamiento lógico.

Aquí el código:

def pyramid_sum(lower, upper, margin=0):
    blanks = " " * margin
    print(blanks, lower, upper)
    if lower > upper:
            print(blanks, 0)
            return 0
    else:
            result = lower + pyramid_sum(lower + 1, upper, margin +4)
            print(blanks, result)
            return result

Les ayudará mucho hacer debugging con VS Code. Tengo un vídeo en YouTube donde explico cómo usarlo, aquí se los dejo
Nunca paren de aprender ūüėĄ

En https://pythontutor.com pueden escirbir codigo y visualizar cada paso para entender mejor los problemas.

El código

def pyramid_sum(lower, upper, margin=0):
    blanks = " " * margin
    print(blanks, lower, upper)
    if lower > upper:
            print(blanks, 0)
            return 0
    else:
            result = lower + pyramid_sum(lower + 1, upper, margin +4)
            print(blanks, result)
            return result


lower = int(input("Lower: "))
upper = int(input("Upper: "))

pyramid_sum(lower, upper)

Aquí el profesor dice que la fruta es muy deliciosa

Corriendo el debugger pude entenderlo, esta funci√≥n recursiva me recuerda a la pel√≠cula Inception o el origen en espa√Īol.