我一直在寻找类似的问题,关于如何在python中生成随机数。例如:Similar Question - 但我没有问题,每次随机函数返回相同的值。random.choice()在同一秒内返回相同的值,如何避免它?
我的随机生成器工作正常,问题是,它调用函数时,我认为,同样的第二个是不希望的,它返回相同的值。
我的代码看起来像这样
def getRandomID():
token = ''
letters = "abcdefghiklmnopqrstuvwwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
for i in range(1,36):
token = token + random.choice(letters)
return token
正如我提到的这个函数返回时,被所谓的在不同的时间不同的值,但调用在同一时间的功能时返回相同的值。我如何避免这个问题?
我在后端服务器中使用此功能来为前端用户生成唯一ID以插入数据库,因此无法控制发生这种情况时的时间间隔。我必须拥有随机令牌来映射数据库中的用户,以便能够在数据库中将queuenumbers正确插入数据库中。
喜欢它当两个用户同时调用时返回相同的id? – Hackaholic
我建议使用'uuid'来生成随机用户标识符。 – hjpotter92
Hackaholic - 确切地说,它返回两个用户调用时相同的“token”,它是相同的randomletters字符串。 –