这几乎可以正常工作,但数字有时以 0 开头:
import random
numbers = random.sample(range(10), 4)
print(''.join(map(str, numbers)))
我找到了很多例子,但没有一个能保证序列不会以0
.
我们生成 1 - 9 范围内的第一个数字,然后从剩余的数字中取出接下来的 3 个数字:
import random
# We create a set of digits: {0, 1, .... 9}
digits = set(range(10))
# We generate a random integer, 1 <= first <= 9
first = random.randint(1, 9)
# We remove it from our set, then take a sample of
# 3 distinct elements from the remaining values
last_3 = random.sample(digits - {first}, 3)
print(str(first) + ''.join(map(str, last_3)))
生成的数字是等概率的,我们一步就得到了一个有效的数字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)