CodingBat Python make_chocolate код не работает в & ldquo; другие тесты & rdquo;

На CodingBat.com (раздел Python Logic-2) есть проблема с кодированием, которая просит функцию определить, сколько маленьких шоколадных батончиков используется для требования веса. Вопрос в следующем:

Мы хотим сделать пакет целых килограммов шоколада. У нас есть небольшие бары (по 1 килограмм каждый) и большие бары (по 5 килограммов каждый). Верните количество маленьких баров, чтобы использовать, предполагая, что мы всегда используем большие бары перед небольшими барами. Возврат -1, если это невозможно.

make_chocolate (4, 1, 9) → 4 make_chocolate (4, 1, 10) → -1 make_chocolate (4, 1, 7) → 2 [ ! d2]

Я придумал это решение проблемы, но он все еще терпит неудачу в «других тестах». Есть ли какие-либо проблемы, которые вызывают это?

Код:

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

EDIT: Мне удалось решить проблему благодаря Мариах Акинби. Я обновил код следующим образом:

def make_chocolate(small, big, goal):
    if (small + 5*big < goal) or (goal % 5 > small):
        return -1

    elif 5 <= goal:
        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
  return goal
0
задан 13 August 2018 в 15:55

0 ответов

Другие вопросы по тегам:

Похожие вопросы: