yahoo informatica

Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
yahoo informatica

yahoo indirizzo informatico


    parte 4° alfabeto informatico

    Admin
    Admin
    Admin


    Messaggi : 89
    Data di iscrizione : 20.11.08

    parte 4° alfabeto informatico Empty parte 4° alfabeto informatico

    Messaggio  Admin Sab Nov 22, 2008 7:03 am

    print '\t',
    for i in range(len(assignments)):
    print assignments[i],'\t',
    print
    keys = students.keys()
    keys.sort()
    for x in keys:
    print x,'\t',
    grades = students[x]
    print_grades(grades)
    Notate come le chiavi vengano innanzitutto estratte dal dizionario students con la funzione di keys contenuta nella linea: keys = students.keys(). keys è una lista, quindi possono essere usate tutte le funzioni delle liste. Successivamente vengono ordinate le chiavi nella linea keys.sort() e viene utilizzato un ciclo for per scorrere tutte le chiavi. I voti sono immagazzinati come una lista all'interno del dizionario, in modo che l'assegnamento grades = students[x] assegni a grades la lista immagazzinata nella chiave x. La funzione print_grades visualizza semplicemente una lista ed è definita poche linee sotto.
    Le ultime linee del programma implementano le varie opzioni del menu. La linea students[name] = [0]*len(max_points) aggiunge uno studente alla chiave corrispondente al nome. La notazione [0]*len(max_points) crea una array di zeri della stessa lunghezza della lista max_points.
    La scelta remove students cancella uno studente in modo simile all'esempio precedente. La scelta record grades è più complessa. I voti vengono estratti nella linea grades = students[name] che ritorna un riferimento ai voti dello studente name. Un voto viene quindi registrato nella linea grades[which] = grade. Notate che grades non viene inserito nel dizionario students. Il motivo di questa "mancanza" è che grades è semplicemente un altro nome per students[name] quindi cambiare grades significa cambiare student[name].
    I dizionari rappresentano un modo semplice per collegare chiavi a valori. Possono essere usati facilmente per tenere traccia dei dati che sono attribuiti alle varie chiavi.
    12. Usare i moduli
    Questo è l'esercizio del capitolo (chiamatelo cal.py): 12.1:
    import calendar

    year = input("Type in the year number:")
    calendar.prcal(year)
    E qui una parte dell'output:
    Type in the year number:2001
    2001

    January February March
    Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
    1 2 3 4 5 6 7 1 2 3 4 1 2 3 4
    8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11
    15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18
    22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25
    29 30 31 26 27 28 26 27 28 29 30 31
    Ho saltato parte dell'output, credo vi siate fatti un'idea. Cosa fa il programma? La prima linea import calendar usa un nuovo comando: import. Il comando import carica un modulo (in questo caso il modulo calendar). Per vedere i comandi disponibili nei moduli standard cercate nella ``library reference'' (se l'avete scaricata) o sul sito ufficiale http://www.python.org/doc/current/lib/lib.html. Il modulo calendar è descritto nel capitolo 5.9. Se leggete la documentazione vi accorgerete di una funzione chiamata prcal che visualizza il calendario di un anno. La linea calendar.prcal(year) usa la funzione descritta. Riassumendo, per utilizzare un modulo importatelo, quindi usate nome_modulo.funzione per utilizzare le funzioni del modulo. Un'altro modo per scrivere il programma:
    from calendar import prcal

    year = input("Type in the year number:")
    prcal(year)
    Questa versione importa una specifica funzione dal modulo. Creiamo un'altro programma utilizzando le funzioni della Python Library (chiamate il file clock.py)(premete i tasti 'Ctrl' e 'c' per chiudere il programma):
    from time import time, ctime

    prev_time = ""
    while(1):
    the_time = ctime(time())
    if(prev_time != the_time):
    print "The time is:",ctime(time())
    prev_time = the_time
    E questo l'output dell'esempio:
    The time is: Sun Aug 20 13:40:04 2000
    The time is: Sun Aug 20 13:40:05 2000
    The time is: Sun Aug 20 13:40:06 2000
    The time is: Sun Aug 20 13:40:07 2000
    Traceback (innermost last):
    File "clock.py", line 5, in ?
    the_time = ctime(time())
    KeyboardInterrupt
    L'output è ovviamente infinito, così l'ho interrotto (l'output continua fino a quando non premete 'Ctrl+c'). Il programma entra semplicemente in un cliclo infinito ed esegue un controllo per vedere se l'orario è cambiato, nel qual caso visualizza il nuovo orario sul monitor. Fate attenzione a come import è utilizzato nella linea from time import time, ctime per richiamare più di una funzione.
    La Python Library contiene molte funzioni utili che semplificano la programmazione in Python.
    12.1 Esercizio
    Riscrivete il programma high_low.py della sezione 5.2 usando le ultime due cifre della funzione time per rendere il numero 'random' (casuale).
    Footnotes
    ...cal.py): 12.1
    Import cerca un file di nome calendar.py e lo legge. Se il file chiamante si chiama calendar.py e contiene 'import calendar' cerca di leggere in sé stesso con risultati quantomeno scarsi.



    13. Ancora sulle liste
    Abbiamo già esaminato le liste e come vengono utilizzate. Ora che avete un background più corposo entrerò più in dettaglio. Innanzitutto scopriremo altri modi per estrarre gli elementi dalle liste, quindi vedremo un metodo per copiarle.
    Questi sono alcuni esempi dell'utilizzo degli indici per accedere ai singoli elementi di una lista:
    >>> list = ['zero','one','two','three','four','five']
    >>> list[0]
    'zero'
    >>> list[4]
    'four'
    >>> list[5]
    'five'
    Questi esempi dovrebbero esservi familiari. Se volete estrarre il primo elemento di una lista dovrete richiamare l'elemento con indice 0, il secondo elemento avrà indice 1 e così via attraverso la lista. Come fare se volete l'ultimo elemento della lista ? Una via potrebbe essere quella di utilizzare la funzione len all'interno delle parentesi quadre: list[len(list)-1]. len ritorna sempre l'ultimo indice più uno. Allo stesso modo l'istruzione per avere il penultimo elemento della lista sarà list[len(list)-2]. Esiste una via più semplice: in Python l'ultimo elemento è sempre indicizzato come -1, il penultimo come -2 e così via. Ecco un'altro esempio:
    >>> list[len(list)-1]
    'five'
    >>> list[len(list)-2]
    'four'
    >>> list[-1]
    'five'
    >>> list[-2]
    'four'
    >>> list[-6]
    'zero'

      La data/ora di oggi è Ven Apr 26, 2024 10:47 am