Kaprekars konstant python programmering
Hej, jag håller på med en uppgift om Kaprekar konstant där 'Uppgiften består i att skriva ett program som givet ett ingångstal beräknar hur många iterationer det krävs innan ovanstående process kommer till 6174.
Indata består av ett fyrsiffrigt tal. Utdata ska vara antalet iterationer som krävs för att genom ovanstående process komma fram till talet 6174 från det angivna talet.'
Jag har alltså skrivet ett program i python som ska lösa detta men jag får inget svar från programmet. Jag vet att det programmet jag har skrivet kanske inte är det mest lämpade för att räkna ut antalet iterationer som krävs för att komma fram till kaprekars konstant men varför funkar det inte? (jag slutar på 7 iterationer då det är det maximala för att komma fram till konstanten givet vilket fyrsiffrigt ingångstal som helst).
# Indata
fyrsiffrigttal = int(input("Ge fyrsiffrigttal: "))
n = fyrsiffrigttal
# Utdata
sorted(str(n).zfill(4))
sorted(str(n).zfill(4), reverse = True)
large1 = int( "".join(sorted(str(n).zfill(4), reverse = True)))
small1 = int( "".join(sorted(str(n).zfill(4))))
diff1 = int(large1)-int(small1)
sorted(str(diff1).zfill(4))
sorted(str(diff1).zfill(4), reverse = True)
large2 = int( "".join(sorted(str(diff1).zfill(4), reverse = True)))
small2 = int( "".join(sorted(str(diff1).zfill(4))))
diff2 = int(large2)-int(small2)
sorted(str(diff2).zfill(4))
sorted(str(diff2).zfill(4), reverse = True)
small3 = int( "".join(sorted(str(diff2).zfill(4))))
large3 = int( "".join(sorted(str(diff2).zfill(4), reverse = True)))
diff3 = int(large3)-int(small3)
sorted(str(diff3).zfill(4))
sorted(str(diff3).zfill(4), reverse = True)
large4 = int( "".join(sorted(str(diff3).zfill(4), reverse = True)))
small4 = int( "".join(sorted(str(diff3).zfill(4))))
diff4 = int(large4)-int(small4)
sorted(str(diff4).zfill(4))
sorted(str(diff4).zfill(4), reverse = True)
small5 = int( "".join(sorted(str(diff4).zfill(4))))
large5 = int( "".join(sorted(str(diff4).zfill(4), reverse = True)))
diff5 = int(large5)-int(small5)
sorted(str(diff5).zfill(4))
sorted(str(diff5).zfill(4), reverse = True)
large6= int( "".join(sorted(str(diff5).zfill(4), reverse = True)))
small6 = int( "".join(sorted(str(diff5).zfill(4))))
diff6 = int(large6)-int(small6)
sorted(str(diff6).zfill(4))
sorted(str(diff6).zfill(4), reverse = True)
small7 = int( "".join(sorted(str(diff6).zfill(4))))
large7 = int( "".join(sorted(str(diff6).zfill(4), reverse = True)))
diff7 = int(large7)-int(small7)
KAPREKAR = 6174
if diff1 == KAPREKAR:
print(n, "ger iteration")
if diff2 == KAPREKAR:
print(n, "ger två iterationer")
if diff3 == KAPREKAR:
print(n, "ger tre iterationer")
if diff4 == KAPREKAR:
print(n, "ger fyra iterationer")
if diff5 == KAPREKAR:
print(n, "ger fem iterationer")
if diff6 == KAPREKAR:
print(n, "ger sex iterationer")
if diff7 == KAPREKAR:
print(n, "ger sju iterationer")
Tack för hjälp
Corsair 600 T Silver / 4770k / Titan (SLI)