我刚刚发现了如何在
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(“%.”,数字%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)