Subsections

2. Hello, World

2.1 Cosa dovresti giÓ sapere

Dovresti sapere come visualizzare un programma in un editor di testo, salvarlo, (su floppy o disco fisso) ed eseguirlo una volta salvato.

2.2 Stampare

Sin dall'inizio dei tempi i tutorial sono sempre iniziati con un semplice programma chiamato 'Hello World'. Eccolo:

print "Hello, World!"

Se state usando la riga di comando per eseguire i programmi, inserite la stringa di testo in un editor e salvate il file con il nome hello.py, eseguitelo con il comando ``python hello.py''.

Altrimenti, entrate in IDLE, aprite una nuova finestra (New window) e create il programma come spiegato nella sezione 1.4.

Ecco cosa stampa sullo schermo il programma quando viene eseguito:

Hello, World!

Non ve lo dir˛ ogni volta ma vi consiglio vivamente di ripetere tutti gli esercizi che vi mostro, questo vi aiuterÓ a comprenderli meglio, anch'io imparo di pi¨ quando scrivo, probabilmente anche voi ...

Tentiamo un programma un po' pi¨ complicato:

print "Jack and Jill went up a hill"
print "to fetch a pail of water;"
print "Jack fell down, and broke his crown,"
print "and Jill came tumbling after."

Quando eseguirete il programma l'output sul monitor sarÓ questo:

Jack and Jill went up a hill
to fetch a pail of water;
Jack fell down, and broke his crown,
and Jill came tumbling after.

Quando il computer esegue questo programma vede innanzitutto la prima linea:

print "Jack and Jill went up a hill"
Ed esegue l'ordine, ovvero stampa:
Jack and Jill went up a hill

DopodichÚ il computer prosegue a leggere il codice e passa alla linea successiva:

print "to fetch a pail of water;"

Il risultato Ŕ la stampa di:

to fetch a pail of water;

Il computer continua a scendere di linea in linea seguendo e svolgendo le istruzioni che voi stessi gli ordinate finchÚ non raggiunge la fine del programma.

2.3 Espressioni

Ecco qui un'altro programma:
print "2 + 2 is", 2+2
print "3 * 4 is", 3 * 4
print 100 - 1, " = 100 - 1"
print "(33 + 2) / 5 + 11.5 = ",(33 + 2) / 5 + 11.5

E qui l'output che questo programma produce:

2 + 2 is 4
3 * 4 is 12
99  = 100 - 1
(33 + 2) / 5 + 11.5 =  18.5

Come puoi vedere Python pu˛ trasformare il vostro costosissimo computer in una normale calcolatrice :-)

Python ha sei operatori basilari:

Osservate come la divisione segua la regola per cui se nel dividendo e nel divisore non sono presenti decimali anche il risultato non conterrÓ decimali (questo per˛ cambierÓ in Python 2.3). Il seguente programma dimostra la regola appena enunciata:

print "14 / 3 = ",14 / 3
print "14 % 3 = ",14 % 3
print
print "14.0 / 3.0 =",14.0 / 3.0
print "14.0 % 3.0 =",14 % 3.0
print
print "14.0 / 3 =",14.0 / 3
print "14.0 % 3 =",14.0 % 3
print
print "14 / 3.0 =",14 / 3.0
print "14 % 3.0 =",14 % 3.0
print
Con l'output:
14 / 3 =  4
14 % 3 =  2

14.0 / 3.0 = 4.66666666667
14.0 % 3.0 = 2.0

14.0 / 3 = 4.66666666667
14.0 % 3 = 2.0

14 / 3.0 = 4.66666666667
14 % 3.0 = 2.0
Python da risposte differenti in base alla presenza o meno di numeri decimali.

L'ordine delle operazioni Ŕ lo stesso che nella matematica:

  1. parentesi ()
  2. elevamento a potenza **
  3. moltiplicazione *, divisione \ e resto %
  4. addizione + e sottrazione -

2.4 Parlare agli umani (e ad altri esseri intelligenti)

Vi capiterÓ sicuramente, quando sarete pi¨ esperti, di dover programmare applicazioni molto complesse e lunghe. Difficilmente rileggendo il codice dopo qualche tempo riuscirete a ricordarvi tutti i passaggi e tutti i ragionamenti fatti, per questo Ŕ meglio che prendiate da subito la buona abitudine di commentare il vostro lavoro. Ad esempio:

# Non Ŕ esattamente pi greco, ma un'incredibile simulazione.
print 22.0/7.0
Come potete vedere il commento inizia con il simbolo #. Un commento Ŕ semplicemente una nota, per altri programmatori ma anche per voi stessi, che spiega il programma nei punti salienti.

2.5 Esempi

Ogni capitolo conterrÓ esempi delle proprietÓ di programmazione introdotte nel capitolo stesso. Dovreste almeno dare un'occhiata al codice per vedere se riuscite a capirlo. Nel caso alcuni passaggi non fossero chiari potete scrivere il codice ed eseguirlo, per tentare di capirlo meglio o addirittura apportare delle modifiche per vedere cosa succede.

Denmark.py

print "Something's rotten in the state of Denmark."
print "                -- Shakespeare"

Output:

Something's rotten in the state of Denmark.
                -- Shakespeare

School.py

# Questo non Ŕ esattamente vero al di fuori degli USA, ed Ŕ basato su
# di un vago ricordo dei miei trascorsi giovanili.
print "Firstish Grade"
print "1+1 =",1+1
print "2+4 =",2+4
print "5-2 =",5-2
print
print "Thirdish Grade"
print "243-23 =",243-23
print "12*4 =",12*4
print "12/3 =",12/3
print "13/3 =",13/3," R ",13%3
print
print "Junior High"
print "123.56-62.12 =",123.56-62.12
print "(4+3)*2 =",(4+3)*2
print "4+3*2 =",4+3*2
print "3**2 =",3**2
print

Output:

Firstish Grade
1+1 = 2
2+4 = 6
5-2 = 3

Thirdish Grade
243-23 = 220
12*4 = 48
12/3 = 4
13/3 = 4  R  1

Junior High
123.56-62.12 = 61.44
(4+3)*2 = 14
4+3*2 = 10
3**2 = 9

2.6 Esercizi

Scrivete un programma che stampa su schermo il vostro nome e cognome in due stringhe separate.

Scrivete un programma che mostra l'utilizzo delle 6 operazioni matematiche.