J'ai une classe dont le seul but est de trier un tableau qui est donné en paramètre, mais tout d'abord, je reçois une erreur "int pas itérable". Ma question est quelle est cette erreur et je fais mon tri correctement? Merci. Voici ma classe de trieurs appelée par l'autre classe ci-dessous.Python: Trier un tableau
class Sorter:
def reverseWackySort(self, vals):
i = 0
j = 0
temp = 0
length = len(vals)
for i in length:
for j in (length -1):
if vals[j] > vals[j+1]:
temp = vals[j]
vals[j] = vals[j+1]
vals[j+1] = temp;
return vals
Code -
from Sorter import Sorter
def TestSorter():
rws = Sorter()
nums = [88, 1, 7, 32, 18, 77, 34, 99, 54, 22]
print "\nBefore Sort: ", nums
rws.reverseWackySort(nums)
print "After Sort: {}\n".format(nums)
TestSorter()
Pourquoi utilisez-vous une classe en premier lieu? À quoi sert une instance 'Sorter'? Ce n'est pas Java, où vous devez faire de chaque fonction une méthode ... Plus important encore, avez-vous des raisons de croire que la classe est pertinente au problème? Sinon, étant donné que l'explication prend la moitié de votre texte, et la mise en œuvre provoque un 'IndentationError', et il attire plus d'attention que votre problème réel ... peut-être il serait mieux de réduire les choses à un [SSCCE] (http://sscce.org). – abarnert
Y at-il une raison particulièrement bonne pour laquelle vous n'utilisez pas ['trié'] (http://docs.python.org/2/library/functions.html#sorted) ou [' list.sort'] (http: //docs.python.org/2/tutorial/datastructures.html#more-on-lists)? – jason
En fait, c'est faire ses devoirs, en pratiquant ne pas utiliser les méthodes intégrées :) – Binka