喝汽水情景 2: 递归 您所在的位置:网站首页 一瓶quizas 喝汽水情景 2: 递归

喝汽水情景 2: 递归

2024-06-16 15:52| 来源: 网络整理| 查看: 265

一个人买汽水,一块钱一瓶汽水,三个瓶盖可以换一瓶汽水,两个空瓶可以换一瓶汽水,问20块钱可以买多少汽水?

#python -version: python3 def soda(n, bottle, cap): print(['当前能喝瓶数', '当前剩余空瓶数', '当前剩余瓶盖数'], [n, bottle, cap]) # 兑换剩下的空瓶,加上喝完饮料剩下的空瓶 bottle = bottle + n # 兑换剩下的瓶盖,加上喝完饮料剩下的瓶盖 cap = cap + n # 喝了饮料之后,当空瓶数小于2,同时瓶盖小于3时,则直接返回 当前所喝的瓶数 if bottle < 2 and cap < 3: return n else: # 累加上所有喝的饮料数,以及把兑换饮料瓶数,剩余空瓶数,剩余瓶盖数进入递归 return n + soda(bottle//2+cap//3, bottle % 2, cap % 3) # 递归 def main(): for i in [1, 3, 5, 20]: # Money = int(input('Please input money: ')) Money = i print('\n') print(str(Money) + ' 元钱') soda_total = soda(Money, 0, 0) print(str(Money)+' 元钱'+'总共能喝苏打水瓶数为: '+str(soda_total)) if __name__ == '__main__': main()

运行结果:

嗯~~~,空瓶不借了,瓶盖也不借了

Game Over~~~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有