[PIPython] Ordinare elementi di una lista

Matteo Giacomazzi matteo.giacomazzi
Ven 14 Gen 2005 20:40:46 CET


Ciao Arianna,

venerdì 14 gennaio 2005, hai scritto:

> Decido di inserire X numeri in una lista. Inserisco i numeri ad
> uno ad uno e se ne metto uno che ho già inserito, python me lo
> segnala e mi chiede un altro numero in modo che i numeri finali
> siano X come avevo scelto.
> Per esempio, se scelgo di inserire 15 numeri, se come secondo
> numero avevo messo il 4, e come decimo rimetto il 4, lui me lo
> segnala e attende ancora il decimo numero!

> Io per  inserire i numeri in lista ho fatto così:

> numeri = input('Quanti numeri vuoi inserire? ')
> for n in range(numeri):
>     valore = input('Inserisci il numero ' + str(n+1) + ': ')
>     listanumeri.append(valore)

> dovrei forse mettere un IF dopo la lettura della variabile valore
> per controllare che non sia già presente nella lsita, ma.... se per
> al seconda volta metto un numero già inserito come faccio???

Invece di fare un for sul numero degli elementi che vuoi inserire, fai
un while sulla lunghezza della lista contenente i numeri già inseriti,
così:

>>> while len(listanumeri)<numeri:
        valore=input('Numero [%d]: ' % (len(listanumeri)+1))
        if valore not in listanumeri: listanumeri.append(valore)

        
Numero [1]: 1
Numero [2]: 2
Numero [3]: 3
Numero [4]: 4
Numero [5]: 1
Numero [5]: 1
Numero [5]: 1
Numero [5]: 2
Numero [5]: 2
Numero [5]: 2
Numero [5]: 7
>>>

Come vedi non mi lascia inserire un numero già presente nella lista.

Saluti,
 Matteo
-- 
 mailto:matteo.giacomazzi a email.it
 Y!M matteo_giacomazzi




More information about the Python mailing list