Generador de texto python
que se le entregue:
import random
def generar_diccionario(archivo):
diccionario={} arc=open(archivo)
for linea in arc:
linea=linea.strip().split()
for palabra in linea:
if palabra not in diccionario:
diccionario[palabra]={} arc.close()
return diccionario
def generar_lista(archivo):
lista = []
arc=open(archivo)
for linea in arc:
linea=linea.split()
for palabra in linea:
lista.append(palabra)
arc.close()
return lista
def actualizar_diccionario(diccionario,lista):
for palabra_a,palabra_z in diccionario.items(): for j in range(len(lista)1):
if palabra_a==lista[j]:
if lista[j+1] in palabra_z:
palabra_z[lista[j+1]]+=1
else: palabra_z[lista[j+1]]=1
return diccionario
def reactualizar(diccionario):
suma=0
for y,i in diccionario.items():
for z in i.values():
suma+=z
for x,z in i.items(): diccionario[y][x]=z/float(suma)
suma=0
return diccionario
def probabilidad(llave,diccionario):
suma=0
prob=random.random()
for i,j in diccionario.items(): if i==llave:
for y,z in j.items():
suma+=z
if suma>=prob:
palabra=y
break
return palabra
def mayusculas(lista): mayusculas=[]
for i in lista:
if i not in mayusculas and i[0].isupper() and '.' not in i and ',' not in i and ';' not in i and
':'not in i:
mayusculas.append(i) return mayusculas
def crear_texto(diccionario,lista):
mayus=mayusculas(lista)
contador=0
contador2=0 ...
Regístrate para leer el documento completo.