首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python检查2-9的可分性

Python检查2-9的可分性
EN

Stack Overflow用户
提问于 2018-11-27 16:03:30
回答 2查看 281关注 0票数 0

我必须生成一个100到999之间的随机数列表,然后编写单独的函数来检查每个数字是否被所有数字2-9整除。

稍后,我想从生成的列表中创建一个字典,用于测试每个数字的可分性。我将使用随机数作为密钥,对值使用是或否。

我知道如何检查一个数字的可分性,但其余的数都有问题,这就是我到目前为止的情况。

代码语言:javascript
复制
import random

#Creates the list of 100 random unique numbers
randNum = random.sample(range(100, 999), 100)
my_list = [randNum]
#prints that list
print(randNum)
EN

回答 2

Stack Overflow用户

发布于 2018-11-27 16:12:06

表达式,如

代码语言:javascript
复制
{n: [d for d in range(2,10) if n%d==0] for n in randNum}

会给您一个字典,其中键nrandNum中的每个数字,值是范围为2..9的n的除数列表。

票数 1
EN

Stack Overflow用户

发布于 2018-11-27 21:39:11

下面是一个函数的示例,它遍历随机样本并检查所提供范围内每个数字的可分性。此函数返回可以轻松转换为字典的元组列表。

代码语言:javascript
复制
import random

random.seed(8675309)

numbers = random.sample(range(100,999), 5)
divisible_by = [2,3,4,5,6,7,8,9]

def check_divisibility(numbers=numbers, divisible_by=divisible_by):
    nums_and_divisors = []
    for i in numbers:
        divisors = []
        for j in divisible_by:
            if i % j == 0:
                divisors.append(j)
        nums_and_divisors.append((i, divisors))

    return nums_and_divisors

answer = check_divisibility(numbers=numbers, divisible_by=divisible_by)

# print(answer)
# [(511, [7]), (319, []), (622, [2]), (779, []), (616, [2, 4, 7, 8])]

dictionary = {key: value for key, value in answer}

# print(dictionary)
# {511: [7], 319: [], 622: [2], 779: [], 616: [2, 4, 7, 8]}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53503607

复制
相关文章

相似问题

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