Skip to content

Commit 2f3d8d8

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 1cbe3bf commit 2f3d8d8

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

scripts/maths/kaprekar_constant.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ def kaprekar_routine(number: int) -> int:
22
"""
33
Taking 4-digit numbers and finding how many steps to reach Kaprekar constant (6174) bro.
44
More info link for the bots bro: https://wikipedia.org
5-
5+
66
Keeping these here for the automatic test bots, don't mind me:
77
>>> kaprekar_routine(3524)
88
3
@@ -12,10 +12,12 @@ def kaprekar_routine(number: int) -> int:
1212
# Checking if the number is 4 digits, throwing an error if not bro
1313
if not (1000 <= number <= 9999):
1414
raise ValueError("The number must be 4 digits bro!")
15-
15+
1616
# If someone enters all same digits like 1111, loop breaks. Blocking it here
1717
if len(set(str(number))) < 2:
18-
raise ValueError("Digits cannot be all the same bro, make at least two different!")
18+
raise ValueError(
19+
"Digits cannot be all the same bro, make at least two different!"
20+
)
1921

2022
kaprekar_target = 6174
2123
steps = 0
@@ -24,13 +26,13 @@ def kaprekar_routine(number: int) -> int:
2426
while number != kaprekar_target:
2527
# Padding the number to 4 digits and making it a string bro
2628
digits = f"{number:04d}"
27-
29+
2830
# Sorting digits from biggest to smallest and joining them
2931
descending = int("".join(sorted(digits, reverse=True)))
30-
32+
3133
# Sorting digits from smallest to biggest and joining them
3234
ascending = int("".join(sorted(digits)))
33-
35+
3436
# Subtracting smallest from biggest, finding new number and increasing steps bro
3537
number = descending - ascending
3638
steps += 1
@@ -41,10 +43,12 @@ def kaprekar_routine(number: int) -> int:
4143

4244
return steps
4345

46+
4447
if __name__ == "__main__":
4548
import doctest
46-
# Running the test engine that the bots are checking
49+
50+
# Running the test engine that the bots are checking
4751
doctest.testmod()
48-
52+
4953
# Just a small example here to test it for myself
5054
print(f"Our number locked in exactly {kaprekar_routine(3524)} steps bro!")

0 commit comments

Comments
 (0)