Форум сайта python.su
124
m1r42если метод требует на вход тип int, то ведь можно об этом позаботиться вне этого метода. привести в нужный тип. Почему то картинка вспомнилась
и, о чудо теперь можно не заморачиваться с типами str и int
Отредактировано xam1816 (Ноя. 8, 2022 22:34:16)
Офлайн
7
py.user.nextА почему это надо считать багом? Ведь интерпретатор правильно сообщает об ошибке.
Это всё, конечно, интересно, но там весь модуль random надо пересматривать, потому что это не единственный подобный баг в нём. Когда он писался, то время прошло уже давно, а ошибки старые остались, которые для современного питона смотрятся как-то сопливо.
Офлайн
7
xam1816
если метод требует на вход тип int, то ведь можно об этом позаботиться вне этого метода. привести в нужный тип. Почему то картинка вспомнилась
Минутка юмора. Вот и я о том же.
Офлайн
857
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 (Ноя. 9, 2022 10:18:26)
Офлайн
7
py.user.nextПонял.
Он не сообщает, что аргументы для функции randint() не того типа. Этот случай использования функции randint() не учтён и фактически выпадает именно внутренний код, когда пытается это выполнить. Хорошо, что он выпал и что-то вывел на экран, а мог бы и неправильно сработать втихую и выдать какой-то якобы правильный результат.
Офлайн