Одна ошибка теста из многих примеров тестов в CodeWar
Я написал код для этого вопроса, и результат показывает один сбой после запуска тестовых образцов на нем. Я понятия не имею, что не так с моим кодом, когда большинство тестовых примеров может успешно выполняться, кроме одного. Функция программы состоит в том, чтобы определить, сможет ли кассир вернуть изменение клиенту, если у него нет изменений в начале. Цена билета в кино составляет 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")