What is the argument for limiting str(x)
for integers? I understand the argument that int(s)
can be used for DOS attack, but that does not explain why str(x)
should be limited. If a program doesn’t allow big integers in its input, then it generally won’t try to output big integers either, unless it actually intends to print a big int.
Another problem that arises from limiting str(x)
is that this kind of program
x = int(input())
print(x + 1)
will now get a very unexpected error on the print line by being given the input '9' * 4300
. So the limit on str(x)
essentially introduces overflow errors to Python. This wouldn’t have been the case if the limit was only introduced to int(s)
.