gpt4 book ai didi

Python - 具有有限小数位的随机 float

转载 作者:太空狗 更新时间:2023-10-29 20:35:52 24 4
gpt4 key购买 nike

我刚刚发现如何在 Python 中生成随机数,但如果我将它们打印出来,它们都有 15 位十进制数字。我该如何解决?这是我的代码:

import random
import os

greaterThan = float(input("Your number will be greater than: "))
lessThan = float(input("Your number will be less than: "))
digits = int(input("Your number will that many decimal digits: "))

os.system('cls')

if digits == 15:
print(random.uniform(greaterThan, lessThan))

if digits == 14:
print(random.uniform(greaterThan, lessThan))

if digits == 13:
print(random.uniform(greaterThan, lessThan))

if digits == 12:
print(random.uniform(greaterThan, lessThan))

if digits == 11:
print(random.uniform(greaterThan, lessThan))

if digits == 10:
print(random.uniform(greaterThan, lessThan))

*(这只是继续下降到 0)

我知道您可以像 print("%.2"% someVariable) 那样做,但是 Python 使用此方法创建的随机数不会保存在任何变量中。至少我是这么认为的。我还想知道是否有一种方法可以让变量选择小数点的数量,比如 print("%."+ digits % anotherVariable) 但我试过了,当然可以失败了。

我真的不知道。希望你能帮忙。谢谢。

最佳答案

如果您想从 random.uniform 中获取任何数字并将其截断为特定位数,您可以使用 round() function .

它允许您四舍五入到特定的精度。例如:

import random

greaterThan = float(input("Your number will be greater than: "))
lessThan = float(input("Your number will be less than: "))
digits = int(input("Your number will that many decimal digits: "))

rounded_number = round(random.uniform(greaterThan, lessThan), digits)
print(rounded_number)

关于Python - 具有有限小数位的随机 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31595594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com