Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Dani-el soldado de Dios en 3 Octubre 2021, 00:10 am



Título: Dudas utilizando *args en python.
Publicado por: Dani-el soldado de Dios en 3 Octubre 2021, 00:10 am
Hola gente ¿como están?, alguien me podría decir con este código como puedo hacer
para que los mensajes salgan limpios y como hacer un salto de línea.-
Busque x todos lados y nada, no me queda otra que recurrir a vuestra ayuda y paciencia.-
Saludos y gracias.
Daniel...

Código
  1. def listas(*args):
  2.    print(args)
  3.  
  4. miLista = [4, 33, 62, 41, 2, 53, 71]
  5. mensaje = "Lista mostrada como se ingreso..: "
  6. listas(mensaje, miLista)
  7.  
  8. miLista.sort()
  9. mensaje = "Lista ordenada, ascendente......: "
  10. listas(mensaje, miLista)
  11.  
  12. miLista.sort(reverse=True)
  13. mensaje = "Lista ordenada, descendente.....: "
  14. listas(mensaje, miLista)
  15.  
  16. mayor = max(miLista)
  17. mensaje = "El número mayor de la lista.....: "
  18. mens = "Fin..."
  19. listas(mensaje, mayor, mens)
  20.  


Título: Re: Dudas utilizando *args en python.
Publicado por: Dani-el soldado de Dios en 3 Octubre 2021, 23:00 pm
Bueno en parte lo logre, me falta tan sólo eliminar los corchetes en la impresión de la tupla, lo voy a intentar copiando la tupla "args" en una lista y luego:
Código
  1. print(*miLista, sep = '-')
Lo voy a intentar, si alguien tiene alguna sugerencia Danielito agradecido, saludos.-

Código
  1. def listas(*args):
  2.     if args[-1] != 1:      # este if es para que imprima antes del salto de línea
  3.        print(*args[:])
  4.     else:    
  5.        print(*args[0:2])   # descarta la impresión de la variable "clave"
  6.        print(" ")
  7.  
  8. clave = 0
  9. miLista = [4, 33, 62, 41, 2, 53, 71]
  10. mensaje = "Lista mostrada como se ingreso..: "
  11. listas(mensaje, miLista)
  12.  
  13. miLista.sort()
  14. mensaje = "Lista ordenada, ascendente......: "
  15. listas(mensaje, miLista)
  16.  
  17. miLista.sort(reverse=True)
  18. mensaje = "Lista ordenada, descendente.....: "
  19. listas(mensaje, miLista)
  20.  
  21. clave = 1 # siempre tener cuidado que el último elemento de *args debe ser la var. clave
  22. mayor = max(miLista)
  23. mensaje = "El número mayor de la lista.....: "
  24. listas(mensaje,mayor, clave)
  25.  
  26. mensaje = "Fin..."
  27. listas(mensaje)
  28.  
  29.  


Título: Re: Dudas utilizando *args en python.
Publicado por: Dani-el soldado de Dios en 4 Octubre 2021, 15:55 pm
Bueno al fin lo logre, no era nada complicado pero los inicios son así, gracias a todos lo que sin poder ayudarme se ocuparon del tema, gracias. 

Código
  1. def listas(*args):
  2.    if args[-1] != 1:      # este if es para que imprima antes del salto de línea
  3.        if len(args) == 2:
  4.            varUno, varDos = (args)            
  5.            print(varUno, end = " ")
  6.            print(*varDos, sep = ' ')
  7.        else:
  8.            print(*args, sep = ' ')
  9.    else:    
  10.        print(*args[0:2])   # descarta la impresión de la variable "clave"
  11.        print(" ")


Título: Re: Dudas utilizando *args en python.
Publicado por: Danielㅤ en 4 Octubre 2021, 17:12 pm
Hola Dani, primero que nada nos alegramos de que hayas podido lograr lo que querías, por otro lado nosotros somos voluntarios que ayudamos en nuestro tiempo libre y hay veces que podemos tardar un poco en ponernos manos a la obra con un tema.

Gracias por habernos dejado la solución del código.


Saludos


Título: Re: Dudas utilizando *args en python.
Publicado por: Dani-el soldado de Dios en 4 Octubre 2021, 17:55 pm
Ufa tocayo, ¿sonó ha critica? mil disculpas no fue mi intención, mala mía si alguna vez(por equivocación) intento cuestionar una misión tan invalorable como la de Uds.
Hasta la próxima, nos estamos leyendo.-