Esempio n. 1
0
# -*- coding: utf-8 -*-
#                                                Tarea N°1 Python Cientifico
#                                               Joaquin Lomas y Matias Pereira
#
# a) Crear una lista de strings sin elementos repetidos que contenga todos los nombres de los personajes
#    principales del texto, estos tienen el formato -NOMBRE_PERSONAJE:

from modulo import leer_archivo, interactua_con

guion = leer_archivo('guion2.txt')  # Lectura desde archivo.
lista = []  # Lista para reemplazo.
frases = guion.split('\n')  # Separamos el string separando por nueva linea.

for j in frases:  # Guardamos en la lista personajes solamente aquellos de la lista filtrado que empiecen con un guion.
    if j.startswith('-'):
        lista.append(j)
filtrado = list(set([i.split(':')[0]
                     for i in lista]))  # Limpieza de personajes repetidos.
lista_personajes = [
    s.replace('-', '') for s in filtrado
]  # Quita los guiones del principio y la lista de personajes principales se guarda en lista_personajes.

#----------------------------------------------------------------------------------------------------------------
# b) Crear un diccionario que asocie cada personaje con sus respectivos diaogos en la forma:
# {personaje1:[dialogo1,dialogo2,...],personaje2:[dialogo1,dialogo2,...],..}

diccionario = dict([i, 0]
                   for i in lista_personajes)  # Generacion de diccionario
for k in diccionario.keys(
):  # El valor de cada key del diccionario (Personajes) ahora sera una lista (Que almacenara los dialogos de cada uno)
    diccionario[k] = []
Esempio n. 2
0
import modulo
import re


def mainCharacters(string):
    automata = re.compile("(?<=-)[A-Z ]*(?=:)", re.MULTILINE)
    chars = list(set(automata.findall(string)))
    chars.sort()
    return chars


def dialogs(string, characters):
    d = dict()
    for char in characters:
        automata = re.compile("(?<=-" + char + ": ).*$", re.MULTILINE)
        d[char] = automata.findall(string)
    return d


string = modulo.leer_archivo()
characters = mainCharacters(string)
print(characters)
d = dialogs(string, characters)
for wea in d["TONY"]:
    print(wea)
Esempio n. 3
0
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import modulo as m

guion = m.leer_archivo()

per = m.personajes_principales(guion)
dicc = m.crea_diccionario(guion, per)

print('Numero de personajes: %s' % (str(len(per))))
print('Personajes: ')
for i in range(len(per)):
    print(' ', str(m.filtrar_texto(list(per)[i])))
print('Personaje que tiene el dialogo mas largo: ',
      str(len(m.mas_extenso(dicc))), 'personajes')
print(m.mas_extenso(dicc))
print('Personaje que tiene el dialogo mas corto: ',
      str(len(m.menos_extenso(dicc))), 'personajes')
print(m.menos_extenso(dicc))
print('Personaje que tiene mas dialogo en el guion: ', m.mas_dialogo(dicc))
print('Personaje que tiene menos dialogo en el guion: ', m.menos_dialogo(dicc))
print('Ingrese personaje para ver con quien interactua: ')
p = input()
pp = p.upper()
pers = []
for i in range(len(per)):
    pers.append(m.filtrar_texto(list(per)[i]))
tmp = 0
for i in pers:
    if pp in i:
        print(pp, ' Interactua con : ', len(m.dialogos(pp, guion)),
Esempio n. 4
0
from modulo import leer_archivo

guion = leer_archivo(
    'guion2.txt'
)  #lectura desde archivo                                            #Lista para reemplazo
lineas = guion.split('\n')
lineas_personajes = []
for i in lineas:  #Guardamos en la lista personajes solamente aquellos de la lista filtrado que empiecen con un guion
    if i.startswith('-'):
        lineas_personajes.append(i)
#print lineas_personajes
lista_personajes = [i.split(':')[0] for i in lineas_personajes]
#print lista_personajes
personajes = list(set(lista_personajes))
#print personajes
personajes_principales = [i.replace('-', '') for i in personajes]
#print personajes_principales
dialogos = [i.split(':')[1] for i in lineas_personajes]
d = {}
lista = []
for z in personajes:
    for i in xrange(len(lineas_personajes)):
        aux = lineas_personajes[i]
        if aux.startswith(z):
            lista.append(dialogos[i])
    d[z] = lista
#print d