如何在Python中使用函数随机复制三位数字


import random
def get_random_number():
     return random.randrange(100, 1000)
def get_not_duplicated_random_number():
  //enter your code here
    result = None
    return result

我需要使用get_random_number()函数

实现此部分

您必须从每个数字中获取3位数字并进行比较。这样的东西:

import math
import random
def get_random_number():
    return random.randrange(100, 1000)
numbers = [];
for i in range(0,3):
    number = get_random_number();
    e = math.floor(number/100);
    d = math.floor((number-e*100)/10);
    m = math.floor((number-e*100-d*10));

    while (e == d or d == m or m == e):
        number = get_random_number();
        e = math.floor(number/100);
        d = math.floor((number-e*100)/10);
        m = math.floor((number-e*100-d*10));

    numbers.append(number)
print(numbers)

如果您不想要重复的数字,则需要在不替换的情况下选择3位数字。这使这变得更加困难,因为0不能是您的第一个数字:

from random import sample
from string import digits
from itertools import chain
digits = set(digits)
first = sample(digits, 1)
rest = sample(digits.difference(first), 2)
result = int(''.join(chain(first, rest)))

(您可以使用range(10)而不是string.digits来更快地做到这一点,但我觉得这更具说明性(

最新更新