1 pièce(s) jointe(s)
Algorithme de Kaprekar (nombres à 4 chiffres)
Bonjour à tous,
Je débute sur Python et dois programmer l'algorithme de Kaprekar pour les nombres à 4 chiffres (sans tenir compte des exceptions). Le programme doit renvoyer le temps de vol.
Voici ce que j'ai déjà. J'ai conscience que c'est très imparfait et suis ouverte à toutes les propositions (de préférence pas trop complexes...).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| n = 0
k = 0
print('Choisissez 4 chiffres non tous identiques')
m = input('Choisissez un entier entre 0 et 9:')
c = input('Choisissez un entier entre 0 et 9:')
d = input('Choisissez un entier entre 0 et 9:')
u = input('Choisissez un entier entre 0 et 9:')
a = sort(m,c,d,u)
a = a[0]*1000+a[1]*100+a[2]*10+a[3]
b = reverse.sort(m,c,d,u)
b= b[0]*1000+b[1]*100+b[2]*10+b[3]
while k!= 6174:
k = b-a
list = [int(x) for x in str(k)]
a = sort(list)
a = a[0]*1000+a[1]*100+a[2]*10+a[3]
b = reverse.sort(list)
b= b[0]*1000+b[1]*100+b[2]*10+b[3]
n = n+1
print('6174 a été atteint en',n,'itérations') |
En l'exécutant, voici le message d'erreur qui apparaît:
Code:
1 2 3 4 5 6
| Traceback (most recent call last):
File "", line 87, in eval_python
File "", line 15
a = a[0]*1000+a[1]*100+a[2]*10+a[3]
^
IndentationError: unexpected indent |
Je ne trouve pas l'erreur d'indentation et à mon avis, c'est loin d'être la seule erreur du programme...
Merci par avance si vous pouvez apporter votre aide!
Je vois que l'indentation n'apparaît plus quand j'envoie le message... Voici donc une capture d'écran:
Pièce jointe 610102