Python – 具有有限十进制数字的随机浮点数

前端之家收集整理的这篇文章主要介绍了Python – 具有有限十进制数字的随机浮点数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚发现了如何在 Python中创建随机数,但是如果我将它们打印出来,它们都有15个十进制数字.我该如何解决这个问题?
这是我的代码
  1. import random
  2. import os
  3.  
  4. greaterThan = float(input("Your number will be greater than: "))
  5. lessThan = float(input("Your number will be less than: "))
  6. digits = int(input("Your number will that many decimal digits: "))
  7.  
  8. os.system('cls')
  9.  
  10. if digits == 15:
  11. print(random.uniform(greaterThan,lessThan))
  12.  
  13. if digits == 14:
  14. print(random.uniform(greaterThan,lessThan))
  15.  
  16. if digits == 13:
  17. print(random.uniform(greaterThan,lessThan))
  18.  
  19. if digits == 12:
  20. print(random.uniform(greaterThan,lessThan))
  21.  
  22. if digits == 11:
  23. print(random.uniform(greaterThan,lessThan))
  24.  
  25. if digits == 10:
  26. print(random.uniform(greaterThan,lessThan))

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

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

我真的不知道.希望你能提供帮助.
谢谢.

解决方法

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

它允许您舍入到特定的精度.例如:

  1. import random
  2.  
  3. greaterThan = float(input("Your number will be greater than: "))
  4. lessThan = float(input("Your number will be less than: "))
  5. digits = int(input("Your number will that many decimal digits: "))
  6.  
  7. rounded_number = round(random.uniform(greaterThan,lessThan),digits)
  8. print(rounded_number)

猜你在找的Python相关文章