在Python中进行乘法和加电时防止溢出错误

2024-10-01 17:24:54 发布

您现在位置:Python中文网/ 问答频道 /正文

在调用下面定义的函数偏差随机函数时,您将如何防止出现错误,参数scale和{}的限制是什么,以防止出现大数或小数的问题?在

def biased_random(scale, bias):
  return random.random() ** bias * scale

>>> sum(biased_random(1000, 10) for x in range(100)) / 100
64.94178302276364

>>> sum(biased_random(1000, 100000) for x in range(100)) / 100
0.0

>>> sum(biased_random(1000, 0.002) for x in range(100)) / 100
998.0704866851909

Tags: 函数infor参数定义错误rangerandom
1条回答
网友
1楼 · 发布于 2024-10-01 17:24:54

我将使用sys.maxint来计算溢出点是什么。然后将其除以或n根,并与您的数字进行比较:

r = random.random()
if sys.maxint ** (1.0/bias) < r:
    print "overflow imminent"
elif sys.maxint/float(scale) < r ** bias:
    print "overflow imminent"
else:
    print "overflow unlikely. To infinity, and beyond..."

希望这有帮助

相关问题 更多 >

    热门问题