[Python] - Contador de palabras en frases

Iniciado por ChicoMaravilla, 18 Enero 2011, 05:18 AM

0 Miembros y 1 Visitante están viendo este tema.

ChicoMaravilla

Buenas gente, estoy en el ejercicio num 241, bueno, la letra dice:


· 241 En una cadena llamada texto disponemos de un texto formado por varias frases. Escribe un programa que determine y muestre el número de palabras de cada frase

tengo que hacer un programa que cuente las palabras dentro de cada frase, y indique cuantas palabras hay en tal frase. Yo lo que hice fue esto:


Código (python) [Seleccionar]
frases=raw_input("Frases: ")
fra=frases.split(".")
for i in range(1,len(fra)+1):
    pal=len(fra[i].split(" "))
    print "Frase ",i,": ",pal


¿en que me equivoqué?, el error indica list index out of range .
se en que me equivoque, en la 4º linea, pero como lo arreglo?

PD: Yo interprete la pregunta como que las frases se separan por un punto

desde ya muchas gracias  ;D

Novlucker

Es que te estas complicando solo :P

Código (python) [Seleccionar]
frases=raw_input("Frases: ")
fra=frases.split(".")
for i in fra:
    pal=len(i.split(" "))
    print "Frase ",i,": ",pal


Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Ragnarok

Pero sobre todo mira lo que hace range y lo que son los índices de los arrays.

Cita de: ·
Código (python) [Seleccionar]
def contar(frases):
  fra=frases.split(".")
  for i in range(len(fra)):
    pals=len(fra[i].split(" "))
    print "Frase ",i,": ",pals
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

ChicoMaravilla

Gracias por las respuestas :D, gracias novlucker por el script, parece tar correcto

Karcrack

Solo una pequeña anotacion, si en split() no pones ninguna cadena ya toma por defecto un espacio :)
Es decir:
"LO QUE SEA".split(" ") === "LO QUE SEA".split()