Tu dwie moje wersje (pierwsza nieco rozbudowana jak na Pythona, ale działa OK):
big_num1 = 4365464375675678546785687686478678
big_num2 = 987444365464375675678546785687686478678
big_num3 = 78365464375675678546785687686478678
big_num4 = 75465
# Pierwsza wersja
def big_num_to_str(number: int) -> str:
num_str = str(number)
out = list()
for i, ch in enumerate(num_str[::-1], 1):
out.append(ch)
if i % 3 == 0 and i < len(num_str):
out.append(' ')
return ''.join(out)[::-1]
# Druga wersja
def big_num_to_str2(number: int) -> str:
num_str = str(number)
for i in range(len(num_str)-3, 0, -3):
num_str = num_str[:i] + ' ' + num_str[i:]
return num_str
print(big_num_to_str(big_num1))
print(big_num_to_str(big_num2))
print(big_num_to_str(big_num3))
print(big_num_to_str(big_num4))
print(big_num_to_str2(big_num1))
print(big_num_to_str2(big_num2))
print(big_num_to_str2(big_num3))
print(big_num_to_str2(big_num4))
To jest znakomity przykład jak nie należy robić tego w Pythonie :)
@blaccli - zajrzyj do kodu kolegów!