这几乎没问题,但数字有时以0开头:
import random
numbers = random.sample(range(10), 4)
print(''.join(map(str, numbers)))
我发现了很多例子,但没有一个能保证序列不会以0
开头.
这几乎没问题,但数字有时以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)))
生成的数是等概率的,我们一步就得到了一个有效数.