python函数time.time()的奇怪行为

时间:2017-12-05 10:07:32

标签: python

考虑以下python函数:

def prandom():
    t = time.time()
    s = t - int(t)
    s = str('{0:.16f}'.format(s))
    print s
    s = int(s[5])
    print(s)
    return s

天真的意图是得到一个伪随机数字。 但是:你怎么解释这一点,无论我运行多少次这个功能(在Windows 10机器上)我得到0或9?有什么我想念的吗?

1 个答案:

答案 0 :(得分:0)

您的代码中的一些修改可以更好地修改您的功能:

def prandom():
    t = time.time()
    return str("{0:.16f}".format(t))[-1]

这将提供所有值

生成随机数的最佳方法是使用随机函数

导入随机

a = random.randint(0, 9) # two argument will generate number between those numbers
print a # random digit from 0 to 9

<强>输出

8