From: Vincent Le Gallic Date: Sun, 9 Aug 2015 15:39:48 +0000 (+0200) Subject: Un script qui mélange les mots sleon l'Uvinertisé de Cmabrigde X-Git-Url: http://gitweb.pimeys.fr/?p=scripts-20-100.git;a=commitdiff_plain;h=bc2612eb18e5ae3400fe8f96ff25019e6ff3e0b0 Un script qui mélange les mots sleon l'Uvinertisé de Cmabrigde --- diff --git a/cambridge.py b/cambridge.py new file mode 100755 index 0000000..3d85a39 --- /dev/null +++ b/cambridge.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- + +""" Pour mélanger les lettres dans l'ordre des mots. +http://www.sauv.net/cmabrigde.php +""" + +import re +import sys +import random + +reg = re.compile(r"\b(?P\w+)\b", flags=re.UNICODE) + +def shuffle_word(word): + """Mélange un mot. Avec une bonne définition de "mélange".""" + if len(word) in [0, 1, 2]: + return word + inside_word = list(word[1:-1]) + random.shuffle(inside_word) + return word[0] + "".join(inside_word) + word[-1] + +def shuffle(sentence): + """Mélange les mots. Avec une bonne définition de "mots" et de "mélange".""" + result, pos = u"", 0 + for match in reg.finditer(sentence): + start, end = match.span() + result += sentence[pos:start] + result += shuffle_word(match.groupdict()["word"]) + pos = end + result += sentence[pos:] + return result + +if __name__ == "__main__": + sentence = " ".join(sys.argv[1:]) + sentence = sentence.decode("utf-8") + sentence = shuffle(sentence) + print sentence.encode("utf-8")