如何仅执行一次循环

问题描述:

我正在创建一个为用户提供工作机会的程序。例如,他们获得了10个优惠,他们决定立即拒绝前3个。从那里我得到了三个中的最大数量,我想接受下一个最好的报价。虽然我的计划是接受最好的报价,而不是下一个最好的报价。如何仅执行一次循环

稍后要解释一下,假设优惠4比第3条中的最高数字要高,我希望该优惠被视为“已接受”,即使优惠5的优惠幅度更高。这是我目前的代码,问题在于最后一个'if'语句不断重复,导致它给我提供了最好的报价,而不是下一个最好的报价。

offerRejList = [] 
    offerList = [] 
    counter = 1 
    counterRej = 1 
    while counter <= jobOff: 
     offer = random.gauss(65, 5) 
     offerList.append(offer) 
     if counterRej <= jobRej: 
      offerRejList.append(offer) 
     print('Offer #' ,counter, ': $',offer,'-',) 

     counterRej += 1 
     counter += 1 
     if offer > max(offerRejList): 
      acceptedOffer = offer 
+0

他们教你如何使用'break'? – DyZ

http://www.tutorialspoint.com/python/python_loop_control.htm

这就是你需要的。紧接着你有“接受提供”

+0

谢谢,这是一个很好的解决方案,但我必须继续生产剩余的优惠。我必须在最后向他们展示一份统计数字,向他们展示他们可能错过的金额。 – Blakester