Subsections
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.
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.