Bienvenido a la Comunidad de Treehouse

¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.

¿Buscas aprender algo nuevo?

Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de

Inicia tu prueba gratuita

Python Introducción a las Listas Crear una Aplicación Mostrar la Lista

¿Por qué la función 'add_to_list' toma un argumento de 'item' pero 'show_list' no?

Ambas funciones están usando item, una está agregando el item a la lista, la otra está imprimiendo el item. Ambas necesitan item, entonces ¿por qué item no se pasa a 'show_list'?

2 Respuestas

Jonathan Grieve
Jonathan Grieve
91,254 puntos

Es difícil decir mucho sin el código que estás intentando, pero parece que estás preguntando sobre variables pasadas a argumentos de función.

Solo mirando el video creo que lo que está pasando es show_list(): está usando el objeto lista que está en el alcance global, por lo que es la variable que está usando. Y los datos que se agregan y se usan en otra función. En mostrar lista, itemes una variable de seguimiento que muestra cada valor mientras se itera sobre ella.

Recuerda que las variables pasadas como parámetros a una función son marcadores de posición para la información pasada en una llamada de función.

Como señaló Johnathan, Craig está mostrando la lista iterando a través de una variable global, lo que significa que otras funciones y código dentro de un programa pueden verla y usarla. Entonces, mientras estés agregando items a la lista global, la estás construyendo continuamente para que pueda ser utilizada más tarde.

Realmente lo hice un poco diferente, pero aún logra el mismo resultado. Creo que mi solución es un poco menos eficiente ya que utiliza más código para lograr lo mismo, lo cual creo que generalmente se ve con desaprobación en la programación. Pero espero que esto te ayude a entender.

Aquí está mi solución:

def show_list(list):
    para item en list.copy():
        print(* {}.format(item))

 show_list(shopping_list)