我正在阅读Python食谱,并且对理解rolling dice case
有疑问此解决方案是:
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))
这看起来更好吗?