Одна ошибка теста из многих примеров тестов в CodeWar - PullRequest
0 голосов
/ 09 октября 2018

Я написал код для этого вопроса, и результат показывает один сбой после запуска тестовых образцов на нем.Я понятия не имею, что не так с моим кодом, когда большинство тестовых примеров может успешно выполняться, кроме одного.Функция программы состоит в том, чтобы определить, сможет ли кассир вернуть изменение клиенту, если у него нет изменений в начале.Цена билета в кино составляет 25 долларов.Например, массив врученных долларовых купюр выглядит следующим образом [25,50], он сможет вернуть изменение, когда массив завершит работу, так как он получит банкноту в 25 долларов в начале, и он сможетверните купюру в 25 долларов второму клиенту, когда он вручит купюру в 50 долларов.Однако, если указан этот массив [25,100], программа напечатает «НЕТ», поскольку у него не будет достаточно изменений для банкноты в 100 долларов.Кстати, это для Python3 ++.

def tickets(people):
   co25=0
   co50=0
   co100=0
   collect=0
   for i in people:
      if(i==25):    
         co25+=1
      elif(i==50):
         co50+=1
         if(co25>=1):
             co25=co25-1
         else:
             collect+=1
      elif(i==100):
          co100+=1
          if(co25>=1 and co50>=1):
              co25=co25-1
              co50=co50-1
           else:
              collect+=1
      else:
          break;
   if(collect>0):
        return("NO")
    else:
        return ("YES")

Question and result

...