m1r42если метод требует на вход тип int, то ведь можно об этом позаботиться вне этого метода. привести в нужный тип. Почему то картинка вспомнилась
и, о чудо теперь можно не заморачиваться с типами str и int
m1r42если метод требует на вход тип int, то ведь можно об этом позаботиться вне этого метода. привести в нужный тип. Почему то картинка вспомнилась
и, о чудо теперь можно не заморачиваться с типами str и int
py.user.nextА почему это надо считать багом? Ведь интерпретатор правильно сообщает об ошибке.
Это всё, конечно, интересно, но там весь модуль random надо пересматривать, потому что это не единственный подобный баг в нём. Когда он писался, то время прошло уже давно, а ошибки старые остались, которые для современного питона смотрятся как-то сопливо.
xam1816Минутка юмора. Вот и я о том же.
если метод требует на вход тип int, то ведь можно об этом позаботиться вне этого метода. привести в нужный тип. Почему то картинка вспомнилась
m1r42Он не сообщает, что аргументы для функции randint() не того типа. Этот случай использования функции randint() не учтён и фактически выпадает именно внутренний код, когда пытается это выполнить. Хорошо, что он выпал и что-то вывел на экран, а мог бы и неправильно сработать втихую и выдать какой-то якобы правильный результат.
А почему это надо считать багом? Ведь интерпретатор правильно сообщает об ошибке.
>>> 'abc'.split(1) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: must be str or None, not int >>> >>> ''.join(1) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only join an iterable >>> >>> import math >>> >>> math.cos('x') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: must be real number, not str >>>
py.user.nextПонял.
Он не сообщает, что аргументы для функции randint() не того типа. Этот случай использования функции randint() не учтён и фактически выпадает именно внутренний код, когда пытается это выполнить. Хорошо, что он выпал и что-то вывел на экран, а мог бы и неправильно сработать втихую и выдать какой-то якобы правильный результат.