Vous ne pouvez pas modifier cette page, pour les raisons suivantes :
Documentation:
== Qu'est-ce qu'une tartine ? == C'est expliqué [http://openatelier.labomedia.org/rappel-a-tarte ici]. == Que faut-t-il faire pour remettre la 182ème tartine dans l'ordre ? == # créer un dossier genre "tartine" sur le Bureau et inclure les fichiers ci-dessous : # copier/coller le script ci-dessous dans un fichier texte nommé "ordonnons-la-tartine.py" # copier/coller la tartine que vous avez reçue dans un fichier texte nommé "tartine_en_desordre.txt" # placer ces 2 fichiers dans le répertoire créer plus haut : "tartine". # ouvrir un terminal et accéder au dossier sur le bureau cd /home/MonNom/Bureau/tartine ou avec cette commande simplifiée cd ~/Bureau/tartine 6. exécuter le script avec la ligne de commande suivante : python ordonnons-la-tartine.py Un fichier "tartine_ordonnee.txt" a normalement été créé aux côtés des deux autres. Si vous êtes resté bloqué à la 6ème étape, il faut venir aux [http://openatelier.labomedia.org/ Open Atelier du Labomedia] le jeudi (LOL). == Les erreures == Avec Debian Jessie, j'ai ce retour: <syntaxhighlight lang="python"> $ python ordonnons-la-tartine.py Traceback (most recent call last): File "ordonnons-la-tartine.py", line 20, in <module> dico_tartine[int(ligne[:3])] = ligne[4:] ValueError: invalid literal for int() with base 10: 'exq' </syntaxhighlight> == Le script == <syntaxhighlight lang="python"> # -*- coding: utf-8 -*- # On crée un dictionnaire vide dico_tartine = {} # On ouvre le fichier tartine.txt et on le place # dans une variable que l'on appelle la_tartine_dans_le_desordre with open ("tartine_en_desordre.txt", 'r') as la_tartine_dans_le_desordre: # Pour chacune des lignes de la_tartine_dans_le_desordre... for ligne in la_tartine_dans_le_desordre: # on enlève les retours chariot en fin de ligne #ligne = ligne.rstrip('\n\r') # on regarde les 2 premiers caractères # qui correspondent au numéro des lignes de la tartine dans l'ordre # et on crée une entrée dans le dictionnaire dont la 'clé" est # ce numéro et la 'valeur' le reste de la ligne. dico_tartine[int(ligne[:3])] = ligne[4:] with open ("tartine_ordonnee.txt", 'w') as la_tartine_dans_l_ordre: # On compte de 0 jusqu'au nombre d'élément dans le tableau (moins un) for numero in range(len(dico_tartine)): la_tartine_dans_l_ordre.write(dico_tartine[numero]) </syntaxhighlight> == En Ruby == <syntaxhighlight lang="ruby"> content = [] File.open("original.txt", "r") do |f1| while (line = f1.gets) content[line.split(' ').first.to_i] = line end end File.open('order.txt', 'w') do |f2| content.each do |line| f2.puts line end end </syntaxhighlight> [[Catégorie:Python]]
Résumé :
Modification mineure Suivre cette page
Annuler