Bonjour,
Ayant quelques bases de python on m'a demandé de voir s'il serait possible de faire un programme qui affecte des horaires à chaque professeur d'une petite école (10 enseignants environ) en fonction de leurs disponibilités, ayant de toute façon l'intention de me perfectionner en python j'ai donc décidé de me pencher sur la question mais le problème n'est pas simple. Voilà comment je pense procéder pour le moment; dans l'attente de suggestion, conseils...
1) Tout d'abord chaque professeur donnera ses disponibilités qui seront enregistrées sous forme d'une liste de 1 et 0.
2) Il donnera ensuite son nombre d'heures de cours à assurer sur une semaine.
3) Le programme calcule alors le nombre d'heures totales disponibles de chaque professeur.
4) Il soustrait pour chaque professeur le nombre d'heures de cours au nombre d'heures de cours disponibles.
5) il prend alors la liste de disponibilité du professeur ayant eu le plus petit nombre d'heures à l'étape 4 (si plusieurs ont le mème résultat il en choisit un au hasard) et choisit une heure au hasard dans celles disponibles (un 1 dans la liste).
6) Il ajoute ce prof à une liste finale à l'index de l'heure choisie (exemple 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0 => _,_,_,_,_,_,_,_,"mr michu",_,_,_,_,_,_,_,_ ).
7) il retire alors cette heure de la liste de disponibilité de tous les profs (ici, la 9e heure est donc remplacée par un 0 chez tous les profs).
8) Il recommence à l'étape 3 jusqu'à ce que la liste finale soit complète.
->je souhaiterai utiliser python 3.5 sur Ubuntu 16.04.
->les étapes en vert sont celles pour lesquelles je ne sais pas comment faire.
->je pense utiliser la POO (une classe matière avec une méthode pour les étapes 3 et 4 ) (je n'ai pas encore de démarche précise pour les étapes 5,6 et 7 donc je ne sait pas pour ce étapes) mais je ne sais pas si je me complique la vie.
voilà, je pense avoir expliqué le problème, je vous ferai part de l'avancée du travail.
Si vous avez de meilleures suggestions quand à la démarche à suivre je suis preneur et si vous pouviez m'éclairer sur les étapes 4 et 6 cela m'aiderait beaucoup.
Si je n'ai pas été assez clair dites le moi, je m'efforcerai de préciser.
Si vous désirez des précisions, demandez.
Si vous pensez que je vais dans le mur dites le![]()
Cordialement, dans l'attente de vos réponses
Lisiof.
Partager