2005 - comparaison de nombres

Bonjour,

je trouve un test curieux. Le huitième. J'obtiens le retour suivant :

1
2
3
4
5
6
7
8
Traceback (most recent call last):
  File "/box/compiled.py", line 58, in <module>
    print(compare(l_1, nb_1, l_2, nb_2))
  File "/box/compiled.py", line 34, in compare
    début_1, point_1 = prépare(l_1, nb_1)
  File "/box/compiled.py", line 12, in prépare
    while (i < l) and (nb[i] != '.'):
IndexError: string index out of range

Or justement i < l prévient la sortie d'intervalle... cela signifie juste, pour moi, qu'une longueur donnée est fausse. Ma soumission est : https://prologin.org/train/2005/semifinal/comparaison_de_reels/204190

Une autre explication est-elle possible ?

Merci,

Je confirme l'erreur dans le fichier d'entrée, dans le fichier 8, il y a une mauvaise longueur d'indiquée.

1
2
3
4
Traceback (most recent call last):
  File "/box/compiled.py", line 55, in <module>
    assert len(nb_1) == l_1
AssertionError

Bonsoir,

Après avoir vérifié le fichier d'entrée, il ne semble pas y avoir d'erreur. Avez-vous réussi à résoudre votre problème ?

Non, je pense toujours qu'il y a un problème avec l'entrée.

Mon code commence ainsi pour lire l'entrée :

1
2
3
4
5
6
l_1 = int(input())
nb_1 = input()
assert len(nb_1) == l_1, f"l_1={l_1}, or la chaîne_1 est de longueur {len(nb_1)}"
l_2 = int(input())
nb_2 = input()
assert l_2 == len(nb_2)

La sortie est alors :

1
2
3
4
Traceback (most recent call last):
  File "/box/compiled.py", line 55, in <module>
    assert len(nb_1) == l_1, f"l_1={l_1}, or la chaîne_1 est de longueur {len(nb_1)}"
AssertionError: l_1=10000, or la chaîne_1 est de longueur 9999

Et le premier assert échoue, donc il y a bien un problème avec l'entrée. Qui se retrouve dans le message du premier post. La longueur indiquée est supérieure à la longueur réelle.

Il y a vraiment un problème avec le fichier.

Bonjour,

En effet ! Nous avions regardé le mauvais test. Nous allons régler ce problème.

Bonne journée.

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.