我已经为这个问题编写了代码,结果显示了在其上运行测试样本后的一次失败。当大多数示例测试可以成功运行(一次除外)时,我不知道我的代码有什么问题。该程序的功能是确定售票员是否能够将更改退还给客户,因为他一开始没有任何更改。电影票的价格是25美元。例如,下面是一系列的美元纸币[25,50],他将能够在阵列完成运行后返回找零,因为他一开始会收到25美元的纸币,而他将能够当第二位客户交出50美元面额的纸币时,将25美元面额的纸币退还给第二位客户。但是,如果给定此数组[25,100],则程序将打印“ NO”,因为他没有足够的找零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")