Téléchargez l’application
Sélectionnez un dossier et demandez à l’assistant de lire les fichiers concernés avant de les modifier. Définissez le résultat attendu et les limites de la tâche.
Répartissez au plus 10000 sièges entre au plus 1000 poids entiers non négatifs par les plus forts restes. Testez poids nuls et restes égaux départagés par ordre d’entrée, en rejetant une allocation positive de poids total nul avant division.
Sélectionnez un dossier et demandez à l’assistant de lire les fichiers concernés avant de les modifier. Définissez le résultat attendu et les limites de la tâche.
Choisissez un endpoint compatible. Les outils disponibles et la qualité des réponses dépendent du modèle et du serveur utilisés.
Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
def allocate(weights, seats):
if type(weights) not in (list, tuple) or len(weights) > 1000:
raise ValueError("weights.container")
weights = tuple(weights)
if type(seats) is not int or not 0 <= seats <= 10000:
raise ValueError("seats.range")
if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
raise ValueError("weights.invalid")
total = sum(weights)
if total == 0:
if seats:
raise ValueError("weight.zero")
return [0] * len(weights)
result = [w * seats // total for w in weights]
remaining = seats - sum(result)
order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
for i in order[:remaining]:
result[i] += 1
return resultVérifiez avant d’appliquer. Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.