喝汽水情景 2: 递归

编程入门 行业动态 更新时间:2024-10-21 11:51:31

喝汽水情景 2: <a href=https://www.elefans.com/category/jswz/34/1771140.html style=递归"/>

喝汽水情景 2: 递归

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

#python -version: python3def soda(n, bottle, cap):print(['当前能喝瓶数', '当前剩余空瓶数', '当前剩余瓶盖数'], [n, bottle, cap])# 兑换剩下的空瓶,加上喝完饮料剩下的空瓶bottle = bottle + n# 兑换剩下的瓶盖,加上喝完饮料剩下的瓶盖cap = cap + n# 喝了饮料之后,当空瓶数小于2,同时瓶盖小于3时,则直接返回 当前所喝的瓶数if bottle < 2 and cap < 3:return nelse:  # 累加上所有喝的饮料数,以及把兑换饮料瓶数,剩余空瓶数,剩余瓶盖数进入递归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 = iprint('\n')print(str(Money) + ' 元钱')soda_total = soda(Money, 0, 0)print(str(Money)+' 元钱'+'总共能喝苏打水瓶数为: '+str(soda_total))if __name__ == '__main__':main()

运行结果:

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

Game Over~~~

更多推荐

喝汽水情景 2: 递归

本文发布于:2024-03-14 04:02:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1735578.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:递归   汽水   情景

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!