CodingBat Python使“其他测试”失败的chocolate代码

2024-07-05 09:19:49 发布

您现在位置:Python中文网/ 问答频道 /正文

上存在编码问题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}$

Tags: 函数代码com编码returnif网站酒吧
1条回答
网友
1楼 · 发布于 2024-07-05 09:19:49

您的代码似乎在以下情况下失败:

make_chocolate(8,1,7)>;返回8而不是2

我认为问题是:

elif small >= goal:
    return small

说明书上说先用大棒,然后用金块达到目标。在

相关问题 更多 >