Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Mostrar Arrays Dentro De Otro Arrays
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Mostrar Arrays Dentro De Otro Arrays 
 
Hola!.

Estaba haciendo una practica con listas en Python y se me ocurrió (si es que no lo he hecho antes).
Como mostrar un array que contiene otros arrays,dentro otro, etc,etc.

Tenemos este array (lista):

  [1, 2, 3, [4, 5, [6, 7, [8, 9, 10]]]]

Y queremos mostrar uno a uno los elementos que lo componen. He uso el tipo Variant ya que parece
ideal para este tipo de problemas.  

Y recursividad...cuanto me gusta la recursividad..cuanto me gusta la recursividad..

Public Sub Main()
  
  Dim lista As Variant[] = [1, 2, 3, [4, 5, [6, 7, [8, 9, 10]]]]
  Dim elemento As Variant
  
  For Each elemento In lista
    If TypeOf(elemento) = gb.Object Then
      MostrarElemento(elemento)
    Else
      Print elemento
    Endif
  Next
  
End

Public Sub MostrarElemento(t As Variant)
  
  Dim elemento As Variant
  
  For Each elemento In t
    If TypeOf(elemento) = gb.Object Then
      MostrarElemento(elemento)
    Else
      Print elemento    
    Endif
  Next
  
End
 


La salida fue correcta, mostró los números del 1 al 10.

Os adjunto el código para que lo ejecutéis y lo podéis modificar para comentar. ¿ Se puede mejorar ?. Tengo que verlo con mas detenimiento.
A lo mejor estoy repitiendo código. No encontraba una constante que diga es un array, así que uso objeto que es un array.

Saludos

ArraydeArrays2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ArraydeArrays2.tar.gz
Tamaño: 4.31 KB
Descargado: 29 veces
ArraydeArrays2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ArraydeArrays2.tar.gz
Tamaño: 4.31 KB
Descargado: 29 veces
ArraydeArrays2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ArraydeArrays2.tar.gz
Tamaño: 4.31 KB
Descargado: 29 veces

 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
Recursividad perfecta. Lástima que no siempre sea hacer print y ya está...

   
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
Naturalmente. No todo es hacer print y ya está..

Sin esta instrucción no tendríamos la posibilidad de depurar una aplicación en un punto determinado.
Prácticamente este ejemplo primero lo aprendí a hacerlo en Python y luego lo hice para Gambas.

# Mostrar contenido de listas anidadas

t = [1,2,3,[4,5,[6,7,[8,9,10]]]]

def show_item(l):    
    for item in l:
        if type(item) == type([]):
            show_item(item)
        else:
            print (item)

for item in t:
    if type(item) == type([]):
        show_item(item)    
    else:
        print (item)
 


La comparación de los tipos es creativa. Aunque haya una instrucción concreta para saber el tipo directamente.
Cuando comenzamos a aprender Python la depuración no es tan fácil como en gambas. Al menos hasta donde
he aprendido.

Aprendemos a depurar la aplicación con otras técnicas. No es que sean nuevas, pero aprendes a saber donde buscar,
donde se puede crear un posible error. ( Que es una pregunta habitual a la hora de crear una aplicación)

Por ejemplo. Imagina que tienes un archivo de texto y lees cada linea que comienza por una palabra, son las que te interesa.
Dentro de esa frase hay un lugar concreto que quieres mostrar ( el día de la semana que se recibe un correo ).
Vas convirtiendo cada linea a un array y muestras un elemento concreto, pero....llega un momento en el que una de las
lineas que lees te da error, diciendo que no existe tal elemento en el array.

En el caso de Python, el error  (traceback error, lo llaman) te da el número de linea donde se produce el error.
Lo primero es colocar un "Print" antes de la instrucción que produce el error. Se lee cada linea y vamos viendo el  
contenido que tiene el array (lista) en ese instante.   "Comprobamos que el error es producido por una linea en blanco".
dando un array vacío.

La acción de colocar este print en ese lugar concreto se le llama añadir un "guardian code".
Sin print no podríamos detectar errores como este.

Print mola!.

Es una parte de nuestra aplicación, no el total de esta. A menos que sea una aplicación pequeña.
Una vez tengamos lo principal, funciones, procedimientos, va siendo hora de crear una aplicación interactiva.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
Shell escribió: [Ver mensaje]

Prácticamente este ejemplo primero lo aprendí a hacerlo en Python


......besame muuuuchooo !
20140310_64698_99_379222_000002h
 



 
última edición por vuott el Sabado, 06 Diciembre 2014, 17:18; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
Vuott:

Vaya gusto tienen algunas mujeres..
Parece una cobra. Si le arrancan los colmillos, normal que se atreva.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
No te apures Shell, lo que molesta a Vuott es que las pitones comen ranas...         
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
shordi escribió: [Ver mensaje]
No te apures Shell, lo que molesta a Vuott es que las pitones comen ranas...


...sì, es asì: no es porque las chicas besan a Python, sino por las ranas.... maldito lenguaje !  
 



 
última edición por vuott el Sabado, 06 Diciembre 2014, 19:29; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
Además de las ranas..
Lo que le da envidia a Vuott es que haya tanta foto de  tía buena con una Python.  

Por cierto, habías visto esto ?.

http://www.pyladies.com/

Citar:

We are an international mentorship group with a focus on helping more women become active participants and leaders in the Python open-source community. Our mission is to promote, educate and advance a diverse Python community through outreach, education, conferences, events and social gatherings.

PyLadies also aims to provide a friendly support network for women and a bridge to the larger Python world. Anyone with an interest in Python is encouraged to participate!


http://pythoniza.me/entrevista-con-las-pyladies-barcelona/

Fijaros, este es un gambero que quería promocionar gambas entre las féminas.
La verdad es que no se nota que es un tío, pero nada de nada eh ?.

 6340e

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
Shell escribió: [Ver mensaje]

Fijaros, este es un gambero que quería promocionar gambas entre las féminas.
La verdad es que no se nota que es un tío, pero nada de nada eh ?.

 6340e
    

...ahééééé ! Es como dispararse a las pelotas !    
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Arrays Dentro De Otro Arrays 
 
vuott escribió: [Ver mensaje]

...ahééééé ! Es como dispararse a las pelotas !    


 

Si es que con ese cara era imposible hacer creer que fuese una gambera.
En fin, a ver si con un tutorial se arregla la cosa...y "algo" de retoque fotográfico.


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Arrays De Controles soplo General 0 Viernes, 18 Septiembre 2009, 18:58 Ver último mensaje
soplo
No hay nuevos mensajes Utilización De Arrays soplo General 4 Viernes, 01 Octobre 2010, 17:39 Ver último mensaje
ariel
No hay nuevos mensajes Arrays De Sockets jsbsan General 2 Domingo, 14 Agosto 2011, 20:12 Ver último mensaje
jsbsan
No hay nuevos mensajes Iteración Con Arrays Shell General 0 Martes, 09 Diciembre 2014, 20:17 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron