fork download
  1. def largest_digit(number):
  2. return int(max(str(check_num(number))))
  3.  
  4. def desc_digits(number):
  5. return int(''.join(sorted(str(check_num(number)))[::-1]))
  6.  
  7. def asc_digits(number):
  8. return int(''.join(sorted(str(check_num(number)))))
  9.  
  10. def kaprekar(number, counter=0):
  11. if number == 6174:
  12. return counter
  13. number = desc_digits(number) - asc_digits(number)
  14. return counter + 1 if number == 6174 else kaprekar(number, counter + 1)
  15.  
  16. def check_num(number):
  17. if len(str(number)) > 4:
  18. raise SystemExit('You have passed a number with more than 4 digits, and a kidney stone.')
  19. while len(str(number)) < 4:
  20. number = '0' + str(number)
  21. return number
Success #stdin #stdout 0.01s 9992KB
stdin
Standard input is empty
stdout
Standard output is empty