Título: [Python] Pasar de str a int? Publicado por: Mudereded401 en 16 Enero 2021, 18:00 pm Hola gente!
Pasa que estaba haciendo mis pruebas en python y me encuentro con que no puedo usar un input para sumar mis variables :/ Código: def sumar(*args): Hay alguna manera de separar y pasar estos str a int para sumarlos? agradecería vuestra ayuda :-\ :huh: Título: Re: [Python] Pasar de str a int? Publicado por: EdePC en 16 Enero 2021, 20:13 pm Tengo entendido que el *args sirve para expandir los parámetros a listas, pero hay que pasarle los parámetros como tales, no un simple texto.
La otra opción es hacer que la función acepte la expansión y se le tiene que pasar una lista expandida: Código
Y la última opción es considerar de que las funciones en python pueden recibir una Lista como parámetros, entonces pasarle la Lista de una: Código
La documentación de Python no es de las mejores, es bueno tenerlo para consulta de referencia del lenguaje o cosas muy puntuales. Para ejemplos y esas cosas es mejor acudir a Internet o a un Notas/Tutoriales, por ejemplo a mi me gusta esta (inglés): https://goalkicker.com/PythonBook/PythonNotesForProfessionals.pdf Título: Re: [Python] Pasar de str a int? Publicado por: tincopasan 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
es lo mismo en cuanto a la funcionalidad. con respecto a tu código, se puede resumir a: Código
Edito: por las dudas, el método int() intenta pasar de cadena a entero Código
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. Título: Re: [Python] Pasar de str a int? Publicado por: Panic0 en 18 Enero 2021, 03:32 am Hola gente! Pasa que estaba haciendo mis pruebas en python y me encuentro con que no puedo usar un input para sumar mis variables :/ Código: def sumar(*args): Hay alguna manera de separar y pasar estos str a int para sumarlos? agradecería vuestra ayuda :-\ :huh: Estaba por dar una solución pero me ganaron jajaja Tengo dos preguntas. 1: Para que sirve el *args y args osea,tengo entendido que cuándo se pone *args es para pasar una cantidad buena de parámetros,pero y el otro?? El args cambia en algo? 2: veo que la variable llamada "resultado_" le agregaste el guión,si mal me equivoco el guión (_) es para cuándo la variable no se vuelve a usar dentro del for,pero por lo que veo esto cambia cuándo lo agregaste a la variable. Mas allá de eso,muy lindo tu código. Título: Re: [Python] Pasar de str a int? Publicado por: tincopasan en 18 Enero 2021, 03:54 am Citar Para que sirve el *args y args osea,tengo entendido que cuándo se pone *args es para pasar una cantidad buena de parámetros,pero y el otro?? El args cambia en algo? tratá de leer todas las respuestas, *args se utiliza para pasar una cantidad desconocida de argumentos en una lista o una tupla, puede ser uno o "una buena cantidad" args sin * es solo el nombre del argumento, podría ser pepito y es lo mismo Citar "resultado_" le agregaste el guión,si mal me equivoco el guión (_) es para cuándo la variable no se vuelve a usar dentro del for, me gustaría saber en que manual leiste eso, en este caso como en muchos otros, cuando se usa al final de la variable, es solo para cambiar la referencia al objeto, en este caso resultado es un objeto referencia a enteros y resultado_ es otro objeto que hace referencia a cadenas que es lo que contiene la lista a Título: Re: [Python] Pasar de str a int? Publicado por: Panic0 en 18 Enero 2021, 04:38 am tratá de leer todas las respuestas, *args se utiliza para pasar una cantidad desconocida de argumentos en una lista o una tupla, puede ser uno o "una buena cantidad" args sin * es solo el nombre del argumento, podría ser pepito y es lo mismo me gustaría saber en que manual leiste eso, en este caso como en muchos otros, cuando se usa al final de la variable, es solo para cambiar la referencia al objeto, en este caso resultado es un objeto referencia a enteros y resultado_ es otro objeto que hace referencia a cadenas que es lo que contiene la lista a Hola,muchas gracias por explicarme En cuanto a esto Citar me gustaría saber en que manual leiste eso Lo llegué a ver que en muchos lugares dicen eso básicamente,en este caso prefiero tomar tu palabra ya que le tengo mas confianza a un experto (vos) que a otro tipo de persona.Ah perdón por mi ignorancia,tocará seguir estudiando jajaja :-[ Y lo del guión lo saque de aquí ::) https://www.mclibre.org/consultar/python/lecciones/python-for.html Título: Re: [Python] Pasar de str a int? Publicado por: tincopasan en 18 Enero 2021, 04:57 am viendo el link y la explicación:
Código
si te fijas usa el _ solo para no poner un nombre específico a la variable y aque no la usa, pero si quisiera también podría hacerlo, no deja de ser una referencia: Código
Título: Re: [Python] Pasar de str a int? Publicado por: Danielㅤ en 18 Enero 2021, 08:03 am Hola, para sumar números en string podes usar la función eval():
Código
Saludos Título: Re: [Python] Pasar de str a int? Publicado por: Mudereded401 en 18 Enero 2021, 18:53 pm Hola! Muchas gracias por vuestras respuestas. Ya pude resolver mi problema con el código:
Código: def sumar(*args): Este código me pareció más fácil de entender para mi (Ya que no llevo mucho en python). En cuanto a lo de *args, la idea es meter varios números y que se sumen/resten/multipliquen/dividan/etc entre sí. El Guión bajo siempre lo uso de esa manera (Para crear variables temporales), Ya que me parece más cómodo que crear variables con otro nombre o ponerle un número (Usaría contador_ , en lugar de contador2. Me parece más cómodo.). Aunque en python se crean variables temporales (Como en las fuciones o en el for) yo sigo usando los "_" porque así programo yo xd Citar Para que sirve el *args y args osea,tengo entendido que cuándo se pone *args es para pasar una cantidad buena de parámetros,pero y el otro?? El args cambia en algo? No se si a ti te pasa lo mismo, Pero: Si funciona: Código: def sumar(*args): Error de Sintaxis: Código: def sumar(*args): Error de Sintaxis2: Código: def sumar(args): Yo por lo que he visto, El * en ARGS Solo se usa en "def sumar(*args)" para decirle a python que vamos a usar el ARGS y no una variable temporal llamada ARGS (es decir, Usar el *ARGS y no un solo argumento llamado ARGS). Ya luego de el "def sumar(*args)" no es necesario usar el "*". (Supongo yo eh :xD, Recuerda que soy un newbie en python, a pesar del tiempo que llevo aprendiendo a usarlo) Título: Re: [Python] Pasar de str a int? Publicado por: KonohaHokage en 20 Enero 2021, 08:22 am a="enter a number of your choice."
b="enter another number of your choice." c,d=int(a,b) print("numbers are:-") print c,d refer to any queries on python tutorial (https://intellipaat.com/blog/tutorial/python-tutorial/) |