首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何生成具有特定位数的随机数?

如何生成具有特定位数的随机数?
EN

Stack Overflow用户
提问于 2010-04-20 15:38:19
回答 5查看 205.1K关注 0票数 135

假设我需要一个3位数的数字,那么它应该是这样的:

代码语言:javascript
复制
>>> random(3)
563

or

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

回答 5

Stack Overflow用户

发布于 2013-03-16 02:44:11

如果您希望它是一个字符串(例如,一个10位数字的电话号码),您可以使用以下命令:

代码语言:javascript
复制
n = 10
''.join(["{}".format(randint(0, 9)) for num in range(0, n)])
票数 49
EN

Stack Overflow用户

发布于 2010-04-20 15:42:05

你可以给自己写一个小函数来做你想做的:

代码语言:javascript
复制
import random
def randomDigits(digits):
    lower = 10**(digits-1)
    upper = 10**digits - 1
    return random.randint(lower, upper)

基本上,10**(digits-1)给出的是最小的{-digit}数字,而10**digits - 1给出的是最大的{数字}-digit数字(恰好是最小的{digit+1}-digit数字减1!)。然后我们只需要从这个范围中随机取一个整数。

票数 5
EN

Stack Overflow用户

发布于 2017-05-21 10:40:09

您可以创建一个使用int列表的函数,将字符串转换为连接,然后再次转换为do int,如下所示:

代码语言:javascript
复制
import random

def generate_random_number(length):
    return int(''.join([str(random.randint(0,10)) for _ in range(length)]))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2673385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档