TypeError: '<' non pris en charge entre les instances Python

Je suis la résolution d'un problème avec l'algorithme génétique en python 3. Je n'ai pas complété le code complet encore. J'ai tester une partie du code à chaque fois que je le remplir.

À l'heure actuelle, je suis coincé dans une erreur disant:

TypeError: '<' non pris en charge entre les instances de partie et une partie

La chose intéressante cette erreur ne montre pas toujours. Parfois, le code fonctionne en douceur et afficher le résultat désiré mais parfois, il affiche cette erreur.

Quelle est la raison de cela? S'il vous plaît aider moi. Je joins le code et le message d'erreur. Je suis à l'aide de PyCharm.

import random
class part():
def __init__(self, number):
self.number = number
self.machine_sequence = []
def add_volume(self, volume):
self.volume = volume
def add_machine(self, machine_numbers):
self.machine_sequence.append(machine_numbers)
def create_initial_population():
part_family = []
for i in range(8):
part_family.append(part(i))
part_population = []
for i in range(6):
part_population.append(random.sample(part_family, len(part_family)))
for i in part_population:
for j in i:
j.add_volume(random.randrange(100, 200))
return part_population
def fitness(part_family):
sum_of_boundary = []
for i in range(0, 8, 2):
sum_of_boundary.append(sum(j.volume for j in part_family[i:i + 2]))
fitness_value = 0
for i in range(len(sum_of_boundary) - 1):
for j in range(i + 1, len(sum_of_boundary)):
fitness_value = fitness_value + abs(sum_of_boundary[i] - sum_of_boundary[j])
return fitness_value
def sort_population_by_fitness(population):
pre_sorted = [[fitness(x),x] for x in population]
sort = [x[1] for x in sorted(pre_sorted)]
for i in sort:
for j in i:
print(j.volume, end = ' ')
print()
return sort
def evolve(population):
population = sort_population_by_fitness(population)
return population
population = create_initial_population()
population = evolve(population)

le message d'erreur:
TypeError: '<' non pris en charge entre les instances Python

La Sortie est(qui est aléatoire à chaque fois):
TypeError: '<' non pris en charge entre les instances Python

Puis-je vous suggère de télécharger et d'utiliser les l'invite de commande qui permet la copie de sorte que vous n'avez pas besoin de rajouter des captures d'écran à vos questions.

OriginalL'auteur Zaidur | 2017-04-18