上存在编码问题CodingBat.com网站(Logic-2python部分)请求一个函数来确定一个重量要求使用了多少个小巧克力棒。问题如下:
我们要做一包目标公斤的巧克力。我们有小酒吧(每个1公斤)和大酒吧(每个5公斤)。返回要使用的小条数,假设总是在小条之前使用大条。如果无法完成,则返回-1。在
制作巧克力(4,1,9)→4 做巧克力(4,1,10)→-1 制作巧克力(4,1,7)→2
我想出了这个问题的解决方案,但在“其他测试”中还是失败了。有什么问题导致的吗?在
代码:
def make_chocolate(small, big, goal):
if (small + 5*big < goal) or (goal % 5 > small):
return -1
elif small >= goal:
return small
else:
smallnum = 0
for i in range(1,big+1):
if 5*i + small >= goal:
if 5*i > goal:
break
smallnum = goal - 5*i
return smallnum
编辑: 多亏了玛丽亚阿金比,我终于解决了这个问题。我已将代码更新如下:
^{pr2}$
您的代码似乎在以下情况下失败:
make_chocolate(8,1,7)
>;返回8而不是2我认为问题是:
说明书上说先用大棒,然后用金块达到目标。在
相关问题 更多 >
编程相关推荐