python中输入一个数 判断这个数可以同时被5和3整除_在Python中使用递归检查一个数是否可以被其他数整除…

冒着遭到反对票的风险,我将在开头说这是一个编程类的期中问题。但是,我已经提交了代码并通过了问题。我更改了函数的名称,这样某人就不能立即进行搜索并找到正确的代码,因为这不是我的目的。我实际上是想从我写的两篇文章中找出更正确的。在

这个问题告诉我们,某家快餐店出售一口大小的鸡肉,每包6、9和20只。它想让我们创建一个函数来判断是否可以通过购买不同包装获得一定数量的一口大小的鸡肉。例如,15可以买,因为6+9等于15,但16不能买,因为没有组合的包等于15。我提交的“正确”代码是:def isDivisible(n):

"""

n is an int

Returns True if some integer combination of 6, 9 and 20 equals n

Otherwise returns False.

"""

a, b, c = 20, 9, 6

if n == 0:

return True

elif n < 0:

return False

elif isDivisible(n - a) or isDivisible(n - b) or isDivisible(n - c):

return True

else:

return False

但是,我开始想,如果初始数字是0,它将返回True。最初的数字0会被认为是“用6、9和/或20来购买那笔钱”吗?我无法查看评分员使用的测试用例,因此我不知道评分员是否将0作为测试用例检查,并决定True是否是可接受的答案。我也不能只输入新代码,因为这是期中考试。我决定创建第二段代码来处理0的初始情况,并假设0实际上是错误的:

^{pr2}$

如您所见,我的第二个函数必须使用“helper”函数才能工作。不过,我的总体问题是,如果评分员以0作为初始输入,你认为哪个函数可以提供正确的答案?在


版权声明:本文为weixin_39609620原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>