Je bloque sur l'exécution complète de cet exercice pour lequel mon code fonctionne (via IDE Python) mais est trop lent à exécuter pour passer le test sur France IOI (11 tests réussis sur 13).
nbParticipants=int(input())
participant=[0]*nbParticipants
for participants in range (nbParticipants):
participant[participants]=int(input())
participant.sort()
for participants in range (nbParticipants//2):
print("{} {}".format(min(participant),(max(participant))))
participant.pop(0)
participant.pop()
Je n'ai pas trouvé comment décaler l'accès aux index depuis la fin de la liste via une boucle. En effet je n'arrive à afficher que le dernier (essayé méthodes -1 et max). La méthode pop n'est d'ailleurs pas idéale puisque j'efface ma liste.
Si quelqu'un a une meilleure idée, ça m'aiderait à mieux comprendre.
Déjà pour le nom de tes variables il est plus judicieux d'appeler la liste "participants" au pluriel et un élément de cette liste "participant" au singulier. Tu fais l'inverse et c'est un peu illogique.
Ensuite pour parcourir ta liste à l'envers tu peux faire quelque chose comme ça :
participants = [1,2,3,4,5,6,7,8,9,10]
for i in range(len(participants)):
print(participants[i],participants[-i])
Il faut bien sur que tu l'adapte pour qu'il commence au bon indice et qu'il s'arrête quand il faut !
Merci pour l'aide, ça fonctionne nickel, je devais mal l'écrire car je l'avais essayé également avant. Merci aussi pour la remarque sur la logique, je prends ça en compte pour la suite.
Bonjour je ne comprends pas mon erreur. Voici mon code et le message d'erreur.
nbparticipant = int(input()) for i in range (nbparticipant): Numero.append(int(input()) Numero.sort() for a in range (nbparticipant//2): print("{} {}".format(Numéro[a], Numéro[-1-a]))
File "exe", line 6
Numero.sort()
^
SyntaxError: invalid syntax
Le code ci-dessous s'exécute parfaitement bien sur console spyder mais pas avec FRANCE IOI voir erreur. !
Pouvez-vous SVP m'éclairer ?
Vous remerciant par avance
nbParticipants=int(input())
participants=[0]*nbParticipants
i=0
for i in range (nbParticipants):
participants[i]=int(input())
participants.sort()
for i in range(int(nbParticipants/2)):
print(participants[i],participants[-i+9])
Pourquoi as-tu écrit le nombre 9 ? cette valeur ne marchera que pour le premier test. Pour les autres tests, ton code doit s'adapter au nombre de participants, qui est dans la variable nbParticipants.
- Edité par PascalOrtiz 28 février 2020 à 15:41:15
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Découverte Python Doc Tkinter Les chaînes de caractères
Découverte Python Doc Tkinter Les chaînes de caractères