如何生成具有特定位数的随机数? [英] How to generate a random number with a specific amount of digits?

查看:36
本文介绍了如何生成具有特定位数的随机数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我需要一个 3 位数字,所以它会是这样的:

<预><代码>>>>随机(3)563或者>>>随机(5)26748>>随机(2)56

解决方案

您可以使用 random.randintrandom.randrange.所以要得到一个随机的 3 位数字:

from random import randint, randrangerandint(100, 999) # randint 两端都包含randrange(100, 1000) # randrange 在停止时是独占的

* 假设您的意思是三位数,而不是最多三位数".


要使用任意数量的数字:

from random import randintdef random_with_N_digits(n):range_start = 10**(n-1)range_end = (10**n)-1返回 randint(range_start, range_end)打印 random_with_N_digits(2)打印 random_with_N_digits(3)打印 random_with_N_digits(4)

输出:

331245127

Let's say I need a 3-digit number, so it would be something like:

>>> random(3)
563

or

>>> random(5)
26748
>> random(2)
56

解决方案

You can use either of random.randint or random.randrange. So to get a random 3-digit number:

from random import randint, randrange

randint(100, 999)     # randint is inclusive at both ends
randrange(100, 1000)  # randrange is exclusive at the stop

* Assuming you really meant three digits, rather than "up to three digits".


To use an arbitrary number of digits:

from random import randint

def random_with_N_digits(n):
    range_start = 10**(n-1)
    range_end = (10**n)-1
    return randint(range_start, range_end)
    
print random_with_N_digits(2)
print random_with_N_digits(3)
print random_with_N_digits(4)

Output:

33
124
5127

这篇关于如何生成具有特定位数的随机数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆