【发布时间】:2020-09-08 19:26:50
【问题描述】:
我正在尝试解决一个家庭作业问题,该问题涉及将布尔值与分类系统一起添加到新字典中。可能是我没有清楚地理解这个问题,但是,我真的很难按照测试用例的显示方式来格式化结果。
问题描述如下:
问题 1(20 分):
编写一个名为 number_classify 的函数,它接受最大正整数 并返回一个字典,将整数映射到布尔值和整数值的元组。
测试用例 #1:从 2 到 6 对所有数字进行分类。
对于从 2 到最大值(包括最大值)的每个数字,该函数将该数字添加到字典中,并为其分配一个格式为 (is_prime, classification) 的元组,其中:
is_prime是True,如果数字是素数(只能被它自己和一整除),如果不是,False。
Classification如果数字是完美的,则为 0,如果数字不足,则为 -1,或 1 如果数量很多(参见第 2.1.6 和 2.1.7 节的定义 这些术语和确定数字分类的部分解决方案。建议但不是必需的,通过创建两个来简化此问题 辅助功能。第一个将整数作为输入,如果数字返回 True 是素数,否则为假。第二个应该实施指示的解决方案 分类字段 (2.1.7) 并返回适当的值(0、1 或 -1)。
...这是我拥有的当前代码:
def is_prime(num):
if (num <= 1):
return False
for i in range(2,num):
if (num % i == 0):
return False
return True
def number_solution(num):
divisor = 1
sum_of_divisors = 0
while divisor < num:
if num % divisor == 0:
sum_of_divisors = sum_of_divisors + divisor
divisor = divisor + 1
if number == sum_of_divisors:
return 0
elif number < sum_of_divisors:
return 1
elif number > sum_of_divisors:
return -1
def number_classify(max_int):
a_dict = {}
for x in range():
if is_prime(max_int):
print("True")
else:
print("False")
return a_dict
如何按照测试用例所示格式化输出?
【问题讨论】:
标签: python python-3.x list dictionary tuples