1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
num=12345678900
print ' '.join([n[::-1] for n in [str(num)[::-1][i:i+3] for i in range(0,len(str(num)),3)]][::-1])
# 6 5 4 2 1 3
# | | | | | |
# | | | | | On inverse les paquets <-|
# | | | | | pour obtenir 21 543 876 009
# | | | | |-> i va de 3 en 3 sur toute la longueur
# | | | | | du nombre transformé en chaine
# | | | |-> Transforme le nombre en chaîne
# | | | | [::-1] retourne la chaine ainsi obtenue
# | | | | [i:i+3] prend les 3 caractères à partir de l'indice i
# | | | | La liste renvoyée est donc composée de paquets de 3 chiffres
# | | | | inversés (ici 009 876 543 21)
# | | |-> Récupère chaque paquet de 3 créé dans la liste décrite ensuite
# | |-> Retourne les éléments de la liste pour avoir les paquets de 3 chiffres
# | | dans le bon ordre 12 345 678 900
# |-> Contatène les différents élements de la liste avec des ' '
> 12 345 678 900 |