Foros del Web » Programando para Internet » Python »

leer texto

Estas en el tema de leer texto en el foro de Python en Foros del Web. hola necesito ayuda con el siguiente codigo; @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Python: Ver original def leer ( noticias ) :     f = open ( ...
  #1 (permalink)  
Antiguo 21/12/2010, 10:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 1
leer texto

hola necesito ayuda con el siguiente codigo;

Código Python:
Ver original
  1. def leer(noticias):
  2.     f=open("noticias.txt")
  3.     for linea in f:
  4.         print (linea)
  5.     f.close()
  6. print (leer(noticias))

quiero que me muestre por la pantalla el archivo ese que tengo puesto, pero me es imposible porque me da error...y no veo el fallo que cometo.

gracias
  #2 (permalink)  
Antiguo 21/12/2010, 13:52
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: leer texto

En la funcion leer nunca estas usando el parámetro noticias.
En la linea 6 no tienes declaro la variable noticias
  #3 (permalink)  
Antiguo 21/12/2010, 14:49
 
Fecha de Ingreso: noviembre-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 1
Respuesta: leer texto

vale acabo de leer los libros que me mandaste leer y lo he podido arreglar.

ahora tengo otra duda:

quiero crear una funcion que al darle una palabra y una linea de texto, me diga cuantas veces aparece esa palabra en esa linea:

Código Python:
Ver original
  1. a=str(input('palabra: '))
  2. x=str(input('linea: '))
  3.  
  4. def cuenta (a,x):
  5.     k=0
  6.     for a in x:
  7.         k+=1
  8.         return k
  9.        
  10. print (cuenta(a,x))

ya se que esta mal.
he utilizado el for por poner uno pero me gustaria que me recomendarais cual poner:
if,while,for,...
ayudarme a corregirlo porfavor

milgracias.
  #4 (permalink)  
Antiguo 21/12/2010, 15:05
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: leer texto

Siguiendo la filosofía de python debería haber una (y preferiblemente) solo una manera obvia de hacerlo.

En este caso sería usando el método count.
Código Python:
Ver original
  1. text = "ab ab ab ab"
  2. word = "ab"
  3. print text.count(word)
  #5 (permalink)  
Antiguo 21/12/2010, 15:53
 
Fecha de Ingreso: noviembre-2010
Mensajes: 54
Antigüedad: 14 años
Puntos: 1
Respuesta: leer texto

ok pero el problema es que luego eso lo quiero llevar a un texto mas grande, quiero decir yo luego quiero crear una funcion que al darle un texto en 'txt' y una palabra me cuente cuantas veces aparece esa palabra en el texto o que por ejemplo me muestre las lineas del texto en la que aparece esa palabra...

por eso pienso que igual es mejor utilizar una funcion

¿que piensas?
  #6 (permalink)  
Antiguo 21/12/2010, 18:02
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: leer texto

Aclaraciones:
* El método que te mencione funciona para grandes textos.
* Si quieres saber si una cadena es subcadena de otra cadena solo usa el operador in.
* Una función es casi lo mismo que un método, con la única excepción de que el método es miembro de alguna clase en este caso la clase str.
* No te preocupes por optimizar tu programa tan prematuramente.

Si esto no es una tarea entonces no veo problema de usar las funciones que ya vienen por defecto. Por el contrario si es una tarea solo te puedo decir que recorras tu cadena por bloques de tamaño n donde n es la longitud de tu palabra a buscar y contar.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:45.