#!/usr/bin/python -tt #======= #Crediti #======= # esercizi corso di python @ifac-cnr # Esercizi tratti liberamente da: # Google's Python Class # http://code.google.com/edu/languages/google-python-class/ # Copyright 2010 Google Inc. # Licensed under the Apache License, Version 2.0 # http://www.apache.org/licenses/LICENSE-2.0 #==================== #Indicazioni generali #==================== # RIEMPIRE LE FUNZIONI # DOVE COMPARE IL COMMENTO # +++METTI QUI IL TUO CODICE+++ """Testo mimato Creare le due funzioni - mimic_dict - mima_testo -------------------- mimic_dict(filename): -------------------- Accetta come parametro il nome di un file. Costruire e restituisce un dizionario che associa ogni parola che appare nel file ad un elenco di tutte le parole che seguono immediatamente quella parola nel file stesso. La lista delle parole che seguono può essere in qualsiasi ordine e includere duplicati. Così ad esempio la parola "e" può avere come lista collegata ["poi", "migliore", "poi", "dopo", ...] cioè tutte le parole che vengono dopo "e" nel testo. NB: Per convenzione si assume la stringa vuota come la prima parola nel file. -------------------- funzione mima_testo: -------------------- restituisce una lista di parole di lunghezza specificata, mimando il testo rappresentato nel dizionario restituito dalla funzione mimic_dict. Data una generica parola, cercare quali parole potrebbero venire dopo, quindi sceglierne una a caso e ripetere la procedura fino a che non si raggiunge il numero di parole specificato. Utilizzare la stringa vuota come prima parola. Se la funzione si blocca perché trova una parola che non è in una delle liste contenute nel dizionario, tornare alla stringa vuota. Note: ----- il modulo standard 'random' di Python include una random.choice(elenco), che restituisce un elemento casuale da una lista non vuota. """ import random import sys def mimic_dict1(filename): ##-METTI-QUI-IL-TUO-CODICE-## return def mima_testo1(mimic_dict, word, n=200): ##-METTI-QUI-IL-TUO-CODICE-## return #============= #FINE ESERCIZI #============= # NON MODIFICARE DA QUI IN POI!!!!!!!! # usa mimic_dict() e mima_testo() def main(): #nessun argomento passato da riga di comando if len(sys.argv) != 2: mdict = mimic_dict1('./testo_prova_dict1.txt') print(mima_testo1(mdict, '')) #nome del file passato come argomento da riga di comando else: #è possibile verificare che versione 1 e 2 #di mimic_dict sono equivalenti mdict = mimic_dict(sys.argv[1]) print('Versione 1') print(mima_testo1(mdict, '')) if __name__ == '__main__': main()