Почему код не работает в CodingBat Make_Brick Problem, но работает в блокноте Jupyter? - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь ответить на проблему makeBricks codingbat ссылка на проблему .

Я не мог найти никакой альтернативы, но предложил следующий алгоритм перебора для решения проблемы. Я пытаюсь все возможные расчеты, чтобы равняться цели.

Я могу заставить код работать на Jupyter notebook (anaconda python3, но не на веб-сайте codingbat, который выдает ошибку timed out. Может кто-нибудь объяснить мне, почему?

 def make_bricks(small, big, goal):

            # make a list of all the big and small bricks
            small_list=[]
            for i in range(small):
                small_list.append(1)
            #print(small_list)

            big_list=[]
            for i in range(big):
                big_list.append(5)

            #print(big_list)
            #print(goal)   

            target = goal

    # first see if the difference between the goal and a big brick is ==0,  
    # if not, start removing one small brick at a time to get to goal. if not reached
    # then take off another big brick and check again, then go and take off one
    # by one the small bricks and so on, if by the end you dont reach ==0 it means it is False.   


            for i in range(len(big_list)):
                target =target - big_list[i]
                #print(f'i is {i}, target is {target}')
                if target ==0:
                    return True
                for k in range(len(small_list)):
                        target=target-small_list[k]
                        #print(f'k is {k}, target is {target}')
                        if target ==0:
                            return True
                else:
                    target= goal-big_list[i]
                #print(f'target is {target}')

            #print(target)
            #print("done")
            if target !=0:
                return False

1 Ответ

0 голосов
/ 07 января 2019

Так что я нашел свой ответ на вопросы другого человека здесь Codingbat make_bricks истек по времени с циклом while в python

По сути, метод грубой силы сбивает веб-сайт для одного или обоих следующих тестов:

make_bricks (1000000, 1000, 1000100) → make_bricks (2, 1000000, 100003) →

Они слишком большие, и codingbat выдает ошибку «Timed-Out» для всех проблем.

Записная книжка Jupyter продолжает ломаться, но у меня не хватило терпения посмотреть, удастся ли это: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...