Вам необходимо заменить:
f=int(f/10)
на
f = f // 10
внутри num()
. Это решит вашу проблему.
Объяснение:
f/10
преобразует число в float
. И когда вы конвертируете это float
в int
, оно теряет точность в случае большого числа.
Вы можете подтвердить это следующим образом:
a = 8320987112741390144276341183223364380754172606361245952449277696409600000000000000
print(int(a/10)) # prints: 832098711274139031630889608027340070244161333703152098685794054394185233318543360
print(a//10) # prints: 832098711274139014427634118322336438075417260636124595244927769640960000000000000