>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. SUUUUUBDOLOOOOOO.... hai ragione...così funziona...possibile che il raw_input abbia un tipo di default ??...perchè nell'interprete funziona..solo che il valore lo assegno direttamente!! Alex >>> def ElaboraScelta(scelta): if (scelta > 0) and (scelta < 5): print "Valore compreso tra 0 e 5" elif (scelta ==6): print "Il valore immesso è 6" else: print "Valore fuori dal range" >>> >>> >>> >>> primo = 1 >>> type(primo) <type 'int'> >>> ElaboraScelta(primo) Valore compreso tra 0 e 5 >>>