Nei numeri riportati nel post all'inizio, nell'ultima riga manca il punto e virgola, ad esempio. Quello è sufficiente per non far funzionare il programma.Non mi sembrava...
I numeri sono messi (con copia e incolla) dal post all'inizio di questo thread nel file txt d'interesse da ordinare.
Uno sotto l'altro...
O intendi per non mettere segni a capo di mettere tutto in fila su una riga?
Il file di input deve presentare sempre la stessa sintassi:
numero,numero,numero;
Puoi andare a capo ma solo dopo il ; e MAI dopo l'ultima linea
Quello accade perchè lui ordina dei valori di tipo stringa (str) e non intero (int). La conversione da stringa a intero (a=[int(y) for y in x]) è necessaria per poi ordinare correttamente (a.sort()).Un altra cosa:
Provando a cambiare int(y) con la semplice y
il programma funge con una stortura...
Mi ordina i valori contando solo il primo dei due in caso si tratti di un numero a due cifre e quindi
la prima riga dell'esempio mi risulta ordinata in questo modo:
12,31,47,7,80
ovvero per lui... 7>12 perchè 7>1 che sarebbe la prima cifra di 12
Presta attenzione al formato dei valori del file di input e vedi che non avrai problemi.
Un saluto