Título: Leer archivo y separar por listas ordenadas. Publicado por: riderz44 en 9 Noviembre 2016, 09:34 am Hola soy nuevo en esto de python y me encontre con un ejercicio que intento resolver pero siempre me quedo cerca. Y debe ser de lo mas facil, si me ayudan puede que mi cabeza no explote ;D
Consta en: Leer un archivo txt que contiene palabras y sus significados, ejemplo: basurita: Partícula de suciedad, especialmente la que se introduce en el ojo. hacker: pirata informático. perla: Frase llamativa por desafortunada. etc Luego agregar las palabras en una lista, y las definiciones en otra, pero ambas tienen que tener el mismo indice de orden, si listaPalabras[0] entonces listaDefiniciones[0]. Esto es hasta donde llego, trate de varias formas. Código
Título: Re: Leer archivo y separar por listas ordenadas. Publicado por: tincopasan en 9 Noviembre 2016, 12:10 pm seguramente no entendí bien el objetivo, a lo que interprete lo haría así:
Código
Título: Re: Leer archivo y separar por listas ordenadas. Publicado por: riderz44 en 10 Noviembre 2016, 02:57 am Si me funciono a la perfeccion, incluso aprendi sobre split, muchas gracias tincopasan. ;D
Título: Re: Leer archivo y separar por listas ordenadas. Publicado por: riderz44 en 15 Noviembre 2016, 19:01 pm Perdon que vuelva a colocar el tema en cuestion, pero me han dicho que no puedo usar split en el problema, que tengo que reemplazarlo con while, a lo que viene mi pregunta, de que manera puedo hacerlo? intente de varias formas pero no me sale, se que la condicion es que cuando aparezca ":" agrege en una lista lo que viene antes de ":", y que en la otra lista lo que viene luego, pero no puedo hacer que funcione, help :'(
Título: Re: Leer archivo y separar por listas ordenadas. Publicado por: Once en 15 Noviembre 2016, 20:56 pm Perdon que vuelva a colocar el tema en cuestion, pero me han dicho que no puedo usar split en el problema, que tengo que reemplazarlo con while, a lo que viene mi pregunta, de que manera puedo hacerlo? intente de varias formas pero no me sale, se que la condicion es que cuando aparezca ":" agrege en una lista lo que viene antes de ":", y que en la otra lista lo que viene luego, pero no puedo hacer que funcione, help :'( Tienes varias formas: 1) Usar un buffer que guarde los caracteres hasta que llegues a un ":" o un salto de linea, y cuando llegues al ":" o el salto de línea agregas el buffer a la lista y lo limpias 2) Usar slicing: buscas la posición en la cade donde esta el ":" (digamos n)y haces un slicing: cadena[:n] y cadena[n+1:] PD: Si colocas el código que tienes, sería un poco más fácil orientarse según la idea que tengas Saludos! Título: Re: Leer archivo y separar por listas ordenadas. Publicado por: tincopasan en 16 Noviembre 2016, 04:04 am me parece rídiculo lo que te piden, ya que el objetivo de python es simplificar no de complicar, pero bueno hay cada uno...
hice unas modificaciones al código anterior, solo agregue la función len() que supongo la podés usar! sino hay que seguir hueveando y agregando código. Usé while porque lo pediste sino tampoco es necesario! espero sea más o menos lo que buscas: Código
Título: Re: Leer archivo y separar por listas ordenadas. Publicado por: riderz44 en 16 Noviembre 2016, 17:45 pm Y la verdad que si, ya me habia puesto a estudiar split para poder presentar el porque esta en el codigo y como funciona, pero que me digan que vuelva con while me molesto, el codigo funciona genial gracias de nuevo tincopasan, lo habia hecho parecido pero tenia lineas de más que no servian, el tuyo es mas optimo.
Título: Re: Leer archivo y separar por listas ordenadas. Publicado por: Once en 16 Noviembre 2016, 17:48 pm me parece rídiculo lo que te piden, ya que el objetivo de python es simplificar no de complicar, pero bueno hay cada uno... No es ridículo, es una muy buena práctica para adquirir un poco de lógica a la hora de programar, por eso en estos casos es mejor no dar los códigos hechos, sino guiar al usuario para que llegue a la solución por su propia cuenta. Obviamente, luego de la etapa de aprendizaje, no es muy práctico (y a veces tampoco más eficiente) reinventar la rueda. Saludos! |