Mettre une tartine dans l'ordre puis dans le désordre
Ce wiki a été archivé en 2018.
Le nouveau wiki se trouve à: ressources.labomedia.org Les fonctionnalités sont désactivées: vous pouvez faire une recherche sur Google site:https://wiki.labomedia.org et découvrir La Labomedia. |
De Centre de Ressources Numériques - Labomedia
Mettre une tartine dans l'ordre puis dans le désordre |
---|
Pour modifier la page utiliser l'onglet Modifier avec formulaire.
Résumé | Met une tartine dans l'ordre puis 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, j'ai écrit deux scripts. L'un qui met une tartine dans le désordre, et l'autre qui la remet dans l'ordre. Ce script ci enchaîne les deux autant de fois qu'on le souhaite.
Principe de fonctionnement
Le script ouvre un fichier initial "la-tartine-dans-l-ordre-0.txt" puis crée "la-tartine-dans-le_desordre-0.txt" à partir du premier, puis "la-tartine-dans-l-ordre-1.txt" à partir du second... et ainsi de suite...
Besoins / Compétences
Avoir envie de perdre son temps.
Documentation
Script
from random import shuffle
def je_melange(numero):
liste_tartine = []
with open ("la-tartine-dans-l-ordre-{0}.txt".format(numero), 'r') as la_tartine_dans_l_ordre:
for ligne in la_tartine_dans_l_ordre:
liste_tartine.append(ligne)
desordre = range(len(liste_tartine))
shuffle(desordre)
with open ("la-tartine-dans-le-desordre-{0}.txt".format(numero), 'w') as la_tartine_dans_le_desordre:
for numero in desordre:
la_tartine_dans_le_desordre.write(str(numero).zfill(3) + " " + liste_tartine[numero])
def j_ordonne(numero):
dico_tartine = {}
with open ("la-tartine-dans-le-desordre-{0}.txt".format(numero), 'r') as la_tartine_dans_le_desordre:
for ligne in la_tartine_dans_le_desordre:
dico_tartine[int(ligne[:3])] = ligne[4:]
with open ("la-tartine-dans-l-ordre-{0}.txt".format(numero+1), 'w') as la_tartine_dans_l_ordre:
for numero in range(len(dico_tartine)):
la_tartine_dans_l_ordre.write(dico_tartine[numero])
for numero in range(17394):
je_melange(numero)
j_ordonne(numero)