vic57
имхо реализация int(str) в питоне кривая, если допускает нечисловые символы
Не, это конструктор целочисленного объекта. Набери help(int), увидишь там всю инфу. Он умеет выполнять перевод из системы счисления по типу сишной strtol(). То есть понимает и двоичные с префиксом, и восьмеричные, и шестнадцатиричные.
>>> int('0xff', 16)
255
>>>
>>> int('0b1010', 2)
10
>>>
Поэтому на лишние символы там и нет запрета.
vic57
можно так:
[guest@localhost bracenum]$ python -m doctest bracenum1.doct
**********************************************************************
File "bracenum1.doct", line 41, in bracenum1.doct
Failed example:
f('{00}')
Expected:
'{00}'
Got:
'{-1}'
**********************************************************************
File "bracenum1.doct", line 43, in bracenum1.doct
Failed example:
f('{01}')
Expected:
'{01}'
Got:
'{0}'
**********************************************************************
1 items had failures:
2 of 20 in bracenum1.doct
***Test Failed*** 2 failures.
[guest@localhost bracenum]$
Вот так можно {000000000000002} поставить и он просто сотрёт нули все.