1

我为这个问题编写了一个代码,结果在运行测试样本后显示失败。当大多数示例测试可以成功运行时,我不知道我的代码有什么问题,除了一个。该程序的功能是确定售票员是否能够将零钱退还给客户,因为他一开始没有零钱。电影票的价格是 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")

问题和结果

4

0 回答 0