CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

soucis simple en python

Helyom-II
Helyom-II
Niveau 5
20 décembre 2016 à 17:32:29

Salut, j'ai une erreur de code toute bête en initialisant une liste, voilà la partie de mon code en question:

for k in range (nbEleves):
______listeNom[k]=str(input("Entrez le prénom de l'élève numéro ",k))

En gros vous l'aurez compris j'essaye d'afficher à chaque itération "entrez le nom de l'élève numéro 1,2,3..."
sauf qu'à cause de la virgule le programme comprend que je dois rentrer deux valeurs, comment je fais svp? Je suis sûr que la réponse est toute simple :hap:

Merci à ceux qui prendront le temps de répondre.

MrGreez94
MrGreez94
Niveau 10
20 décembre 2016 à 17:50:57

Comment as-tu initialisé listeNom? C'est une liste vide ou une liste avec nbEleves cases ?

Sinon tu as deux solutions.

  • Soit tu convertis k en string pour faire de la concaténation
input("Entrez le prénom de l'élève numéro " + str(k))
  • Soit tu formates ta string à l'aide de la fonction format()
input("Entrez le prénom de l'élève numéro {}".format(k))

(Par défaut la fonction input() retourne une string, il n'est donc pas nécessaire de le convertir)

Message édité le 20 décembre 2016 à 17:51:24 par MrGreez94
Helyom-II
Helyom-II
Niveau 5
20 décembre 2016 à 18:05:28

Merci de ta réponse, la concaténation du k marche comme il faut :ok:
Pour ce qui est de l'initialisation j'ai juste mis cette ligne au dessus de la boucle::
listeNom=nbEleves*[None]

MrGreez94
MrGreez94
Niveau 10
20 décembre 2016 à 18:28:40

Le 20 décembre 2016 à 18:05:28 Helyom-II a écrit :
Merci de ta réponse, la concaténation du k marche comme il faut :ok:
Pour ce qui est de l'initialisation j'ai juste mis cette ligne au dessus de la boucle::
listeNom=nbEleves*[None]

Une méthode plus "propre" pour faire ça serait de déclarer une liste vide

#Methode 1
listeNom = list()
#Methode 2
listeNom = []

et d'ajouter les éléments au fur et à mesure de la boucle avec append()

for k in range (nbEleves):
    nomEleve = input("Entrez le prénom de l'élève numéro " + str(k))
    listeNom.append(nomEleve)

ça reste néanmoins du détail donc à toi de voir, si ça marche comme tu le souhaites tu peux rester comme tu es.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment