首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法从随机生成的特定整数中排除?

有没有办法从随机生成的特定整数中排除?
EN

Stack Overflow用户
提问于 2021-04-24 08:45:30
回答 2查看 60关注 0票数 1

我正在尝试一个问题,它要求我定义一个func(),它从2-8 (包括2-8)生成4个唯一的随机整数。到目前为止,我已经做好了所有的工作,除了我不能确定是否有可能确保下一个随机生成的整数不是给定范围(2-8)的重复

到目前为止的代码:

代码语言:javascript
复制
def get_unique_code():
    code_str = ""

    while len(code_str) != 4:
        x = str(random.randint(2,8))
        code_str += x
    return code_str

预期输出: 6842

Got: 6846

EN

回答 2

Stack Overflow用户

发布于 2021-04-24 08:51:54

您可以生成一个随机数列表,映射到字符串并将它们连接在一起。不要忘记将+1加到您的上限上,使其包含在内。

代码语言:javascript
复制
import random


def get_unique_code():
    return ''.join(map(str, random.sample(range(2, 8 + 1), 4)))


print(get_unique_code())

请参见:

票数 2
EN

Stack Overflow用户

发布于 2021-04-24 08:50:23

我们可以检查字符是否已经在字符串中:

代码语言:javascript
复制
def get_unique_code():
    code_str = ""

    while len(code_str) != 4:
        cont = False
        while not cont:
            x = str(random.randint(2,8))
            if x not in code_str:
                cont=True
        code_str += x
    return code_str
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67238344

复制
相关文章

相似问题

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