Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中格式化和选择范围内的随机数_Python_Random_Printing_Range_Decimal - Fatal编程技术网

如何在python中格式化和选择范围内的随机数

如何在python中格式化和选择范围内的随机数,python,random,printing,range,decimal,Python,Random,Printing,Range,Decimal,如何选择一个生成的十进制值并将其转换为变量 for i in range(10): print (random.random() * (0.909 - 0.101) + 0.101) 另外,我如何使变量只有三位小数,它必须在变量中,而不是打印中,我应该能够简单地这样做,而不是在打印中生成小数,我想在变量中这样做,然后选择一个值 print = (myVar) 您可以在字符串中格式化它,方法是使用3指定如下小数位 >>> num = 3.123468 >>

如何选择一个生成的十进制值并将其转换为变量

for i in range(10):
    print (random.random() * (0.909 - 0.101) + 0.101)
另外,我如何使变量只有三位小数,它必须在变量中,而不是打印中,我应该能够简单地这样做,而不是在打印中生成小数,我想在变量中这样做,然后选择一个值

print = (myVar)

您可以在字符串中格式化它,方法是使用3指定如下小数位

>>> num = 3.123468
>>> "{:.3f}".format(num)
"3.123"

您希望使用打印功能执行以下操作:

print("{0:.3f}".format(result))
如注释中所述,如果选择使用旧式字符串格式,则可以使用另一种方法来支持旧式字符串格式。解决方案也可以通过以下方式实现:

print("%0.3f" % result)
使用该格式化程序只能将结果打印为三位小数

演示:

输出:

0.323
0.721
0.665
0.831
0.141
0.297
0.643
0.456
0.716
0.320

那么,只需分配随机数,而不是打印随机数,并将其四舍五入到小数点后3位:

myVar = round(random.random() * (0.909 - 0.101) + 0.101, 3)

仅供那些不能使用str.format或喜欢老式字符串格式的人参考,答案中的相同输出可以通过使用:%0.3f%result.zwer完美且高效其他的也很好,但是您的答案占用的空间较少,并且执行起来不需要太多thinking@GoulouhAnwar你可能会考虑接受未来的答案。有人不喜欢我们回答这个问题。我喜欢巨魔。特别是因为向下投票只针对那些投了赞成票的人。@idjaw-如果有人没有更好的事情去做,而不是到处去向下投票,我的答案在短时间内连续得到了好几张,那么我只能可怜他们。@idjaw-我不认为几张向下投票会被归类为连续投票,我很确定,我甚至知道有人告诉我,他是所有问题的唯一参与者,我得到了反对票,但我不想为一些琐碎的事情而纠结,比如与不成熟的网络陌生人见面。如果这让他们感到高兴,我会说…与你的问题正交,但为什么不使用random.uniform0.101,0.909?这相当于你的表达,但更容易写和读。谢谢你会尝试好的东西很多伟大的答案
myVar = round(random.random() * (0.909 - 0.101) + 0.101, 3)