如何从范围中获取随机的十进制数?
发布时间:2020-12-20 12:11:40 所属栏目:Python 来源:网络整理
导读:参见英文答案 random Decimal in python????????????????????????????????????7个 我正在寻找一种如何在某个范围内生成随机十进制数的方法.例如 – random.choice(range(Decimal(1.55,3.89))) 1.89 是否有可能随机做到这一点?我想保留2个小数位. random.cho
参见英文答案 >
random Decimal in python????????????????????????????????????7个
我正在寻找一种如何在某个范围内生成随机十进制数的方法.例如 – >>> random.choice(range(Decimal(1.55,3.89))) >>> 1.89 是否有可能随机做到这一点?我想保留2个小数位. random.choice(range(Decimal(1.55,3.89))) 返回>>> 0 解决方法
您可以像这样使用random.randrange():
import random import decimal decimal.Decimal(random.randrange(155,389))/100 然后使用float()来获得所需的输出: >>> float(decimal.Decimal(random.randrange(155,389))/100) 3.14 >>> float(decimal.Decimal(random.randrange(155,389))/100) 1.91 正如@jsbueno在评论中所提到的,您可以在格式化字符串中使用生成的数字,而无需将它们转换为浮点数: >>> '{}'.format(decimal.Decimal(random.randrange(155,389))/100) '3.85' 您可能需要使用下面的float(): >>> float(random.randrange(155,389))/100 2.38 >>> float(random.randrange(155,389))/100 3.72 注意: 在random.randrange(155,389)中,155包含在范围内,但389不包含在内,如果要包含389,则应使用random.randrange(155,390). @mhawke在下面的评论中提到了这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |