elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 139
61  Programación / Scripting / Re: [Python] Pasar de str a int? en: 16 Enero 2021, 22:00 pm
Citar
Tengo entendido que el *args sirve para expandir los parámetros a listas,

en realidad es que recibe los argumentos en forma de una lista o una tupla en todo caso, o sea:

Código
  1. sumar((1,2,3,4)) #una tupla
  2. sumar([5,6]) # una lista

es lo mismo en cuanto a la funcionalidad.

con respecto a tu código, se puede resumir a:

Código
  1. def sumar(*args): #*args usa listas o tuplas
  2.    return sum(*args) # python ya trae funciones predefinidas
  3.  
  4. a = [int(x) for x in input("Ingresa los números a sumar (Separados con un espacio) : ").split()]
  5. #¿para qué usar *args si solo serán dos números?
  6. # es necesario pasar cadena a entero
  7. print(sumar(a))
  8.  

Edito:
por las dudas, el método int() intenta pasar de cadena a entero

Código
  1. a = int(input("número "))

si ingreso 10 input lo devuelve como cadena, pero al estar dentro del int, devolverá un entero
el problema es que es quisquilloso con la entrada en tu caso no se puede ingresar espacios, lo ideal es ingresar de a un número, pero entonces deberías usar un condicional si es que no sabés cuantos enteros ingresará el usuario, por eso en tu caso simplemente tomamos una lista de caracterés, sacamos los espacios y a la lista de cadenas la pasamos a lista de enteros.
62  Programación / Scripting / Re: Ayuda con ejercicio en python en: 9 Enero 2021, 15:43 pm
hola:
hay muchas formas de resolver esto, te muestro una.

Código
  1. #-*- coding: utf -8 -*-
  2. poema           =  "El unicornio blanco se ve negro a la distancia por que la noche es oscura. Mientras tanto,el caballo blanco del comisario come pasto cansinamente al lado del gallinero lleno de patos."
  3.  
  4. class Contador:
  5.  
  6.    def __init__(self,poema,sep1,sep2):
  7.        self.poema = poema
  8.        self.sep_frases = sep1
  9.        self.sep_palabras = sep2
  10.  
  11.    def cuenta(self):
  12.        self.lista_frases= [x for x in self.poema.split(self.sep_frases) if x !=""]
  13.        self.lista_palabras = [x for x in self.poema.replace(',',' ').replace('.',' ').split(self.sep_palabras) if x !=""]
  14.        self.cant_letras = [x for j in self.lista_palabras for x in j ]
  15.        return self.poema, self.lista_frases,self.lista_palabras,self.cant_letras
  16.  
  17.  
  18. if __name__=='__main__':
  19.    clase = Contador(poema,'.',' ')
  20.    poe,fra,pal,let = clase.cuenta()
  21.    print(poe)
  22.    print("La cantidad de frases es:  ", len(fra))
  23.    print("La cantidad de palabras es: ", len(pal))
  24.    print(f"Este poema tiene {len(let)} letras")

si te fijas cuando trabajo con split() parseo la lista sin las listas vacias que genera sino da más de largo de lo que realmente es y también reemplazo los "." y "," para una mejor lectura de las letras.

hay otras formas pero está me pareció la más simple.
63  Seguridad Informática / Criptografía / Re: Abrir PDF cifrado en: 8 Enero 2021, 18:32 pm
varias cosas:
1) no hay forma de adivinar el cifrado si es que lo tiene
2) sería más facil de revisar con la muestra que intentar sobre algo desconocido.
3)¿el programa con el cuál lo ves, permite imprimir? si es así intenta con una impresora virtual a pdf
64  Foros Generales / Foro Libre / Re: ¿Os pondreis la vacuna del Coronavirus cuando este disponible?. en: 17 Diciembre 2020, 04:08 am
Ni en pedo!!
65  Programación / Scripting / Re: ¿Esta bien programar de esta forma? en: 12 Diciembre 2020, 11:01 am
1) que opines distinto no me preocupa en lo más mínimo, De ahí  a decir que es feo o no sensato, solo es distinto en todo caso .De la misma  forma opino que sos inchorerente , decís una cosa y haces otra.
2)¿me querés manejar la vida diciendome que debo hacer? "mal vamos"
66  Programación / Scripting / Re: ¿Esta bien programar de esta forma? en: 12 Diciembre 2020, 03:40 am
partamos de la base que no es el mío, y si lo fuese, modifica el de otro, no te pedí ninguna corrección ni lo haría, ya vi que tipo de desarrollador sos.
67  Programación / Scripting / Re: ¿Esta bien programar de esta forma? en: 11 Diciembre 2020, 18:58 pm
XSStringManolo muy purista del código pero las funciones sin return, vaya contradicción.
68  Programación / Scripting / Re: ¿Esta bien programar de esta forma? en: 10 Diciembre 2020, 19:56 pm
lo que no entiendas pregunta.
69  Programación / Scripting / Re: ¿Esta bien programar de esta forma? en: 10 Diciembre 2020, 05:44 am
no hay que ser muy puristas del código, siempre les digo a mis alumnos que si funciona lo que hicieron no está mal.
Si tu código funciona está bien, ahora es cierto que hay convenciones que se usan generalmente y que se trata de usar lo correcto en cada caso.


Código
  1. #-*- coding: utf - 8 -*- #esta línea ahorra problemas con la codificación de caracteres no ingleses
  2. alumnos = {}
  3. #se pueden usar listas individuales pero con un diccionario sobra
  4. #lo ideal sería usar un archivo para guardar los datos y clases para el código, pero como estás aprendiendo así está más que bien.
  5.  
  6. def Altas():
  7.    clave= len(alumnos) #para que la clave se auto incremente
  8.    nombre = input("Ingrese el nombre del alumno: ")
  9.    apellido =input("Ingrese el apellido del alumno: ")
  10.    materia = input("Ingrese la materia: ")
  11.    alumnos[clave + 1] = [nombre,apellido,materia] # una lista con los datos y como clave el número
  12.    # en un futuro la clave puede ser el número de documento, ya que estos son únicos
  13.  
  14. def Bajas():
  15.    return "Está en bajas" #cuando se devuelve un valor cualquiera se estila usar return
  16.  
  17.  
  18. def Consultas():
  19.    print("Está en consultas \n")
  20.    for k,v in alumnos.items():
  21.        print(f"Número del alumno: {k} Nombre: {v[0]} Apellido: {v[1]} Materia: {v[2]}")
  22.  
  23.  
  24. def Modificaiones():
  25.    print("Está en modificaciones")
  26.  
  27. def Menu():
  28.  
  29.    while True:
  30.  
  31.        print("""¿Qué quiere saber? \n
  32. 1:Altas
  33. 2:Bajas
  34. 3:Consultas
  35. 4:Modificaciones
  36. 5:Salir""")
  37.        #en multileneas por lo general se muestran así, con un solo print
  38.        try:
  39.            ele = int(input("\nOpción: ")) #normalmente se usa el try solo para lo que queremos evaluar
  40.        except ValueError:
  41.            print("Esperaba un número!")
  42.            Menu()
  43.        if ele == 1:
  44.            Altas()
  45.        elif ele == 2:
  46.            print(Bajas())
  47.        elif ele == 3:
  48.            Consultas()
  49.        elif ele == 4:
  50.            Modificaiones()
  51.        elif ele == 5:
  52.            print("Gracias por usar el sistema")
  53.            break
  54.        else:
  55.            print("¡Solo puedes ingresar números del 1 al 5!")
  56.       #cuando hay tantos elif también se puede simplificar con el uso de diccionarios    
  57.  
  58. if __name__ == '__main__': #para más adelante es mejor está forma de iniciar el módulo
  59.    Menu()
  60.  
  61.  


ya se que te molesta lo que te digo, pero vas aprendiendo y te muestro otras formas, no por eso son mejores, pero si más estandar.
70  Foros Generales / Foro Libre / Re: El chat de altos mandos del Ejército retirados que llaman a fusilar a "26 millones de hijos de p**a" y dar un golpe en: 3 Diciembre 2020, 18:32 pm
son una exageración de balas! es como acá en Argentina, con matar a todos los políticos, violadores y ladrones como ejemplo de lo que les pasaría, se ahorran un montón unos 15 millones de balas !
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 139
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines