Я читаю кулинарную книгу по Python, и у меня возникла проблема с пониманием этого случая с плавающими кубиками
Это решение:
import random
def dice(num, sides):
return reduce(lambda x, y, s=sides: x + random.randrange(s),
range(num+1)) + num
В моем понимании, +num
в конце состоит в том, чтобы устранить 0
, произведенный randrange(s)
. Могу ли я написать код как:
import random
def dice(num, sides):
return reduce(lambda x, y, s=sides: x + random.randrange(1,s),
range(1,num+1))
Это выглядит лучше?