生成具有n位数字的随机数,并避免使用0作为第一位数字?

时间:2019-06-26 10:30:55

标签: python-3.x

如何编写一个函数,该函数需要一个数字n并返回一个随机生成的具有正好n位的数字(以0开头的数字除外)。例如如果n为2,则函数可以随机返回10-99范围内的数字,但07,02等不是有效的两位数。

1 个答案:

答案 0 :(得分:2)

这里是一个函数,该函数将输入数字ndigits作为输入,并返回一个具有ndigits数字的随机数。我使用10的幂来获得ndigits位数字的范围。

import random

...

def random_ndigits(ndigits):
    min_num = 10 ** (ndigits - 1)
    max_num = (10 ** ndigits) - 1

    if ndigits == 1:
        min_num = 0

    return random.randint(min_num, max_num)