send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Contador de Palabras

  • 2 Respuestas
  • 384 Vistas

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado remiotore

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    5%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Mayo 15, 2018, 11:12:48 am »
El otro día me encontraba en un concierto "político" al que me invitaron. Estando allí vi que la gente se animaba cada vez que decían la palabra X o la palabra Y, y en cada canción las repetían como 2 o 3 veces. Yo ya llegué a pensar "¡Pero si este grupito está haciendo negocio porque les siguen por decir justo lo que quieren escuchar!".
Decidí entonces descargarme todas sus letras, meterlas en un fichero de texto y empezar a filtrar palabra por palabra sus canciones.

El resultado fue bastante curioso. Aquí tienen el código:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from collections import defaultdict
import urllib, re, operator
try:
from termcolor import colored
except:
print "Instala TERMCOLOR!\n\tpip install termcolor"

d = defaultdict(int)
aa = []
ae = []
ai = []
ao = []
au = []
aa2 = []
ae2 = []
ai2 = []
ao2 = []
au2 = []

LONGITUD = int(raw_input("Caracteres mínimos de la palabra? "))
MIN = int(raw_input("Minimo repeticiones: "))
MAX = int(raw_input("Maximo repeticiones: "))

BANNED = ("a","ante","bajo","cabe","con","contra","de","desde","en","entre","hacia","hasta","para","por","segun","sin","so","sobre","tras","durante","mediante","excepto","salvo","incluso","mas","menos","cerca","lado","alrededor","antes","arreglo","debajo","dentro","detras","encima","cuanto","enfrente","fuera","gracias","lejos")
REPLACEMENT = {"á":"a","é":"e","í":"i","ó":"o","ú":"u","ñ":"nn",".":"",",":"","?":"","¿":"","!":"","¡":"","(":"",")":"","`":"",":":"",";":"","‘":""}

with open("", 'r') as file:
for line in file:
for w in line.split():
w = w.lower()
for key, value in REPLACEMENT.items():
w = w.replace(key, value)
if w not in BANNED:
if len(w) >= LONGITUD:
d[w] += 1

o = sorted(d.items(), key=operator.itemgetter(1))

print colored("Listado por Número de Repeticiones","red")


while(MIN <= MAX):
print "###########################"
for i in o:
if( i[1] == MIN ):
fila = "#\t" + i[0] + " " + str(i[1])
print fila + " " * (20 - len(fila)) + "#"
MIN += 1

for i in o:
word = i[0]
if(word[-1] in ("a","e","i","o","u")):
if(word[-1] == "a"):
aa.append(word)
elif(word[-1] == "e"):
ae.append(word)
elif(word[-1] == "i"):
ai.append(word)
elif(word[-1] == "o"):
ao.append(word)
elif(word[-1] == "u"):
au.append(word)
else:
if(word[-2] in ("a","e","i","o","u")):
if(word[-2] == "a"):
aa2.append(word)
elif(word[-2] == "e"):
ae2.append(word)
elif(word[-2] == "i"):
ai2.append(word)
elif(word[-2] == "o"):
ao2.append(word)
elif(word[-2] == "u"):
au2.append(word)


print colored("#" + "A" + "#","green")

print colored("\tPrincipales  con A","red")
for i in sorted(aa):
print i,
print ""
print colored("\tRimadas con  A","red")
for i in sorted(aa2):
print i,
print ""


print colored("#" + "E" + "#","green")

print colored("\tPrincipales  con E","red")
for i in sorted(ae):
print i,
print ""
print colored("\tRimadas con  E","red")
for i in sorted(ae2):
print i,
print ""


print colored("#" + "I" + "#","green")

print colored("\tPrincipales  con I","red")
for i in sorted(ai):
print i,
print ""
print colored("\tRimadas con  I","red")
for i in sorted(ai2):
print i,
print ""


print colored("#" + "O" + "#","green")

print colored("\tPrincipales  con O","red")
for i in sorted(ao):
print i,
print ""
print colored("\tRimadas con  O","red")
for i in sorted(ao2):
print i,
print ""


print colored("#" + "U" + "#","green")

print colored("\tPrincipales  con U","red")
for i in sorted(au):
print i,
print ""
print colored("\tRimadas con  U","red")
for i in sorted(au2):
print i,
print ""

Como podéis ver, eliminamos todas las preposiciones, tildes y otros signos como puntos y comas.
Tras eso, el programa comienza a buscar las palabras que tienen una longitud mayor o igual a la que hemos introducido.
Luego muestra las palabras ordenadas según el número de repeticiones entre el mínimo y el máximo que especificamos.
Más tarde muestra las filtra por la vocal y muestra las que terminan en una determinada vocal o las que riman con esa vocal.



¿Qué podemos hacer con esto? ¡NUESTRO PROPIO GRUPO DE RAP O DE LO QUE SEAAA! ¡WUUUUHHH!  ;D

« Última modificación: Mayo 15, 2018, 10:39:19 pm por Gabriela »

Desconectado sadfud

  • *
  • Moderador
  • Mensajes: 170
  • Actividad:
    33.33%
  • Reputación 8
    • Ver Perfil
    • Blog
  • Skype: SadFud
« Respuesta #1 en: Mayo 15, 2018, 06:05:45 pm »
Buenas

El experimento es curioso, igualmente para el ejemplo comparar sons of aguirre con division 250 no creo que sea lo mas correcto, como me imagino sabras (y mencionas) el primero es un grupo de coña. Podrias haber cogido directamente temas de  hasel o valtonyc entre otros desechos sociales que estan mas en la linea de division 250 en cuanto a barbaridades por minuto.

« Última modificación: Mayo 15, 2018, 10:39:56 pm por Gabriela »
Mi blog: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Si necesitas ayuda, no dudes en mandar MP

Desconectado remiotore

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    5%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #2 en: Mayo 18, 2018, 05:44:00 am »
Ya sé que no son comparables pero era por comentar grupos más o menos conocidos para aquellas personas que tienen cierto interés en política jeje Aunque al decir esto no digo que no sean conocidos Hasel y demás, simplemente no me vinieron a la cabeza a la hora de realizar la prueba.
De todas formas, todo esto me pareció algo curioso xD
Desde mi punto de vista, donde esté un libro clásico de política que se quiten todos estos vendedores de humo, o mejor vendedores de ideas ;D

 

¿Te gustó el post? COMPARTILO!



Generador de palabras

Iniciado por dolphin

Respuestas: 1
Vistas: 1248
Último mensaje Diciembre 24, 2017, 03:27:07 pm
por skollprog