2009/7/8 Paolo Bernardi <paolino@xxxxxxxxxxxxxx>: > Alex wrote: >> Ciao, >> ma perchč se, dato questo elementare frammento di script, se scomposto >> nell'interprete funziona mentre se lanciato come script la seconda funzione >> mi torna SEMPRE la condizione else ????...non riesco a capire ! > > Cosě su due piedi non saprei la differenza del comportamento tra > interprete e script. In ogni caso ti suggerisco di usare > int(raw_input()) invece di raw_input() in entrambi casi. In questo modo > i valori letti verranno interpretati come numeri interi ed i confronti > funzioneranno regolarmente. > > *** Esempio con l'interprete *** > >>>> a = raw_input() > 3 >>>> a > '3' >>>> type(a) > <type 'str'> >>>> a = int(raw_input()) > 3 >>>> type(a) > <type 'int'> > > ******************************** > > > Paolo > Ancora meglio è gestire l'eccezione: http://docs.python.org/tutorial/errors.html >>> while True: ... try: ... x = int(raw_input("Please enter a number: ")) ... break ... except ValueError: ... print "Oops! That was no valid number. Try again..." Utilizzando la conversione direttamente sulla lettura dello stdin, si rischia che per un carattere scappato l'applicazione esca con errore. -- Ciao, Mario -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx