Foros Python
Dudas con *args, salto de líneaa. - Versión para impresión

+- Foros Python (https://foro.recursospython.com)
+-- Foro: Desarrollo (https://foro.recursospython.com/forumdisplay.php?fid=1)
+--- Foro: General (https://foro.recursospython.com/forumdisplay.php?fid=9)
+--- Tema: Dudas con *args, salto de líneaa. (/showthread.php?tid=1036)



Dudas con *args, salto de líneaa. - Daniel.py - 02-10-2021

Hola Francisco ¿como estas?, hola a todos.
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...


====================================================
def listas(*args):
    print(args)

miLista = [4, 33, 62, 41, 2, 53, 71]
mensaje = "Lista mostrada como se ingreso..: "
listas(mensaje, miLista)

miLista.sort()
mensaje = "Lista ordenada, ascendente......: "
listas(mensaje, miLista)

miLista.sort(reverse=True)
mensaje = "Lista ordenada, descendente.....: "
listas(mensaje, miLista)

mayor = max(miLista)
mensaje = "El número mayor de la lista.....: "
mens = "Fin..."
listas(mensaje, mayor, mens)
===================================================


RE: Dudas con *args, salto de líneaa. - Francisco - 02-10-2021

Hola, Daniel.

Si te referís a hacer que cada argumento de listas() aparezca en una nueva línea, deberías hacerlo así:

  1. def listas(*args):
  2. # Hacer un print() para cada argumento recibido.
  3. for arg in args:
  4. print(arg)


Saludos


RE: Dudas con *args, salto de líneaa. - Daniel.py - 02-10-2021

Gracias x la celeridad, te muestro como lo imprime, lo que deseo son 2 cosas 1 que
los corchetes no aparezcan(algo así print(a, end=" ")) y la otra es que los datos aparezcan luego del texto,
no con salto de línea, lo que quiero hacer es que el único salto de línea se produzca antes de fin...
Espero me entiendas, gracias...

=======================================================
Lista mostrada como se ingreso..:
[4, 33, 62, 41, 2, 53, 71]
Lista ordenada, ascendente......:
[2, 4, 33, 41, 53, 62, 71]
Lista ordenada, descendente.....:
[71, 62, 53, 41, 33, 4, 2]
El número mayor de la lista.....:
71  <-------- # el único salto de línea

Fin...
=======================================================


RE: Dudas con *args, salto de líneaa. - Francisco - 03-10-2021

Hola.

Para que la lista no se imprima con corchetes, podés usar este código: https://micro.recursospython.com/recursos/como-imprimir-una-lista-sin-corchetes.html.

Para que tu función imprima los argumentos uno al lado del otro, ahí usarías print(..., end=" "), pues el argumento end indica la cadena que se debe agregar al final del mensaje impreso (por defecto \n).

  1. def listas(*args):
  2. for arg in args:
  3. print(arg, end=" ") # Terminar con un espacio en vez de un salto de línea.


Saludos


RE: Dudas con *args, salto de líneaa. - Daniel.py - 03-10-2021

Hola Francisco ¿como estas?, hola a todos.-
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:
print(*miLista, sep = '-')
Lo voy a intentar, si alguien tiene alguna sugerencia Danielito agradecido.-
Gracias por ocuparte, fue de mucha ayuda lo tuyo, me clarifico algunas cosas, saludos.-


==========================================================
def listas(*args):
    if args[-1] != 1:      # este if es para que imprima antes del salto de línea
        print(*args[:])
    else:   
        print(*args[0:2])  # descarta la impresión de la variable "clave"
        print(" ")

clave = 0
miLista = [4, 33, 62, 41, 2, 53, 71]
mensaje = "Lista mostrada como se ingreso..: "
listas(mensaje, miLista)

miLista.sort()
mensaje = "Lista ordenada, ascendente......: "
listas(mensaje, miLista)

miLista.sort(reverse=True)
mensaje = "Lista ordenada, descendente.....: "
listas(mensaje, miLista)

clave = 1 # siempre tener cuidado que el último elemento de *args debe ser la var. clave
mayor = max(miLista)
mensaje = "El número mayor de la lista.....: "
listas(mensaje,mayor, clave)

mensaje = "Fin..."
listas(mensaje)
==========================================================


RE: Dudas con *args, salto de líneaa. - Daniel.py - 04-10-2021

Hola Francisco ¿como estas?, hola a todos, bueno al fin lo logre, no era nada complicado pero los inicios son
así, gracias Francisco nuevamente y que tengan todos un bello bello Lunes.-

===============================================
def listas(*args):
    if args[-1] != 1:      # este if es para que imprima antes del salto de línea
        if len(args) == 2:
            varUno, varDos = (args)           
            print(varUno, end = " ")
            print(*varDos, sep = ' ')
        else:
            print(*args, sep = ' ')
    else:   
        print(*args[0:2])  # descarta la impresión de la variable "clave"
        print(" ")

===============================================