print "Halt!" s = raw_input("Who Goes there? ") print "You may pass,", s
Quando io lo eseguo, questo appare sul mio schermo:
Halt! Who Goes there? Josh You may pass, Josh
Ovviamente quando proverete anche voi l'esecuzione il vostro output sarà
differente, grazie all'istruzione raw_input
. Avviando il
programma (perché lo state provando vero?) avrete notato che richiede
l'inserimento del vostro nome e poi la pressione di Enter per continuare
l'esecuzione; a quel punto viene visualizzato un messaggio seguito dal
vostro nome. Questo è un esempio di input: il programma viene eseguito
fino ad un certo punto, dopodiché attende un input di dati dall'utente.
Naturalmente un input sarebbe inutile se non avessimo nessun posto dove mettere l'informazione ottenuta, ecco quindi che entrano in gioco le variabili. Nel programma precedente s è, appunto, una variabile. Le variabili sono come delle scatole in cui si possono immagazzinare dati. Ecco un programma che ne spiega l'utilizzo:
a = 123.4 b23 = 'Spam' first_name = "Bill" b = 432 c = a + b print "a + b is", c print "first_name is", first_name print "Sorted Parts, After Midnight or",b23
E questo è l'output:
a + b is 555.4 first_name is Bill Sorted Parts, After Midnight or Spam
Come ho detto: le variabili immagazzinano dati. Nel programma qui sopra ad
esempio sono a, b23, first_name
, b e c.
Le due tipologie base di variabili sono stringhe e numeri. Le stringhe
sono sequenze di lettere, numeri e altri caratteri: nell'esempio
b23 e first_name
sono variabili contenenti stringhe.
Spam, Bill, a + b is, e first_name is
sono
stringhe, come potete notare sono sempre racchiuse da " o '.
Gli altri tipi di variabili presenti sono numeri.
Ora, abbiamo queste scatole chiamate variabili ed anche dati da metterci
dentro. Il computer vedrà una linea come first_name = "Bill"
che
leggerà come ``Metti la stringa Bill nella scatola (o variabile)
first_name
''. Più tardi vedrà l'espressione c = a + b che
leggerà come ``Metti a + b o 123.4 + 432 o 555.4
all'interno della variabile c''.
Ecco un'altro esempio sull'utilizzo delle variabili:
a = 1 print a a = a + 1 print a a = a * 2 print a
E naturalmente ecco l'output:
1 2 4
Anche se in tutti i casi elencati la variabile ha lo stesso nome, il computer la rilegge ogni volta: prima trova i dati da immagazzinare e poi decide dove immagazzinarli.
Un'ultimo esempio prima di chiudere il capitolo:
num = input("Type in a Number: ") str = raw_input("Type in a String: ") print "num =", num print "num is a ",type(num) print "num * 2 =",num*2 print "str =", str print "str is a ",type(str) print "str * 2 =",str*2
Ecco l'output ottenuto:
Type in a Number: 12.34 Type in a String: Hello num = 12.34 num is a <type 'float'> num * 2 = 24.68 str = Hello str is a <type 'string'> str * 2 = HelloHello
Osserva il modo in cui ho ottenuto dall'utente le due variabili: input
per la variabile numerica
e raw_input
per la variabile
stringa
. Quando volete che l'utente inserisca un numero o una
stringa utilizzate, rispettivamente, input o raw_input
.
La seconda parte del programma utilizza la funzione type che vi
informa sul tipo di variabile: le varibili numeriche sono di tipo 'int'
(numero 'intero') o 'float' (numero 'decimale'), le stringhe sono di
tipo string. Interi e decimali possono essere utilizzati per
operazioni matematiche, le stringhe no. Tuttavia quando una stringa viene
moltiplicata per un intero vengono aggiunte alla stringa copie di se
stessa: ad es. str * 2 = HelloHello
.
Le operazioni con le stringhe differiscono leggermente da quelle con i numeri. I seguenti, sono alcuni esempi che mostrano tali differenze.
>>> "This"+" "+"is"+" joined." 'This is joined.' >>> "Ha, "*5 'Ha, Ha, Ha, Ha, Ha, ' >>> "Ha, "*5+"ha!" 'Ha, Ha, Ha, Ha, Ha, ha!' >>>
Questa è una lista di alcune operazioni con le stringhe:
Operazione | Simbolo | Esempio |
Ripetizione | * |
"i"*5 == "iiiii" |
Concatenazione | + |
"Hello, "+"World!" == "Hello, World!" |
Velocita_tempo.py
# Questo programma calcola lo spazio, data velocità e tempo. print "Input a rate and a distance" rate = input("Rate:") distance = input("Distance:") print "Time:",distance/rate
Esecuzione:
> python velocita_tempo.py Input a rate and a distance Rate:5 Distance:10 Time: 2 > python velocita_tempo.py Input a rate and a distance Rate:3.52 Distance:45.6 Time: 12.9545454545
Area.py
# Questo programma calcola perimetro ed area del rettangolo. print "Calculate information about a rectangle" length = input("Length:") width = input("Width:") print "Area",length*width print "Perimeter",2*length+2*width
Esecuzione:
> python area.py Calculate information about a rectangle Length:4 Width:3 Area 12 Perimeter 14 > python area.py Calculate information about a rectangle Length:2.53 Width:5.2 Area 13.156 Perimeter 15.46
temperature.py
# Converte Fahrenheit in Celsius. temp = input("Farenheit temperature:") print (temp-32.0)*5.0/9.0
Esecuzione:
> python temperature.py Farenheit temperature:32 0.0 > python temperature.py Farenheit temperature:-40 -40.0 > python temperature.py Farenheit temperature:212 100.0 > python temperature.py Farenheit temperature:98.6 37.0
Scrivete un programma che prenda due variabili stringa e due numeriche intere dall'utente, le concateni (unisca le due stringhe senza spazi) e le visualizzi sullo schermo, infine moltiplichi i due numeri interi su una nuova linea.