Mettre une tartine dans le désordre
De Centre de Ressources Numériques - Labomedia
Révision de 24 janvier 2015 à 16:44 par Olivier (discussion | contributions)
Mettre une tartine dans le désordre |
---|
Pour modifier la page utiliser l'onglet Modifier avec formulaire.
Résumé | Permet de mettre une tartine dans le désordre |
---|---|
Auteur(s) | 01ivier |
Licence | CC-BY-SA 3 |
Date de création | 01 décembre 2014 |
Sommaire
Intentions / Contexte
Pour la 182 ème tartine, je souhaite proposer une tartine dans le désordre.
Principe de fonctionnement
Un script en python lit le fichier "tartine.txt" et met toutes ses lignes dans le désordre en ajoutant le numéro initial de chaque ligne au début afin de permettre leur remise dans l'ordre.
Besoins / Compétences
Python
Documentation
Le script
# -*- coding: utf-8 -*-
from random import shuffle
# On crée une liste vide
liste_tartine = []
# On ouvre le fichier tartine.txt et on le place
# dans une variable que l'on appelle la_tartine_dans_l_ordre
with open ("tartine.txt", 'r') as la_tartine_dans_l_ordre:
# Pour chacune des lignes de la_tartine_dans_l_ordre...
for ligne in la_tartine_dans_l_ordre:
# ... on les ajoute à la liste
liste_tartine.append(ligne)
# On crée une liste allant de 0 à X-1
# X étant le nombre de ligne dans la tartine
desordre = range(len(liste_tartine))
# On met cette liste dans le désordre
shuffle(desordre)
# On crée un fichier tartine_en_desordre.txt
with open ("tartine_en_desordre.txt", 'w') as la_tartine_dans_le_desordre:
# Pour chaque élément de la liste 'desordre'
for numero in desordre:
# On écrit dans tartine_en_desordre.txt la ligne qui lui correspond
# en ajoutant son numéro devant, complété par des zéros
# pour être sûr d'avoir 3 caractères
la_tartine_dans_le_desordre.write(str(numero).zfill(3) + " " + liste_tartine[numero])