鱼C论坛

 找回密码
 立即注册
查看: 1392|回复: 7

[已解决]小蠢鱼

[复制链接]
发表于 2018-1-27 17:53:17 | 显示全部楼层    本楼为最佳答案   
首先你需要把思路理清楚,既然你把汽水数,空瓶和盖都传入了参数里,汽水数肯定不能再参与后来的运算了(只能在返回时使用),不然就重复计算了。
所以在函数里你只需要关注传入的空瓶和瓶盖,当前的空瓶和盖新产生了多少瓶汽水,以及当前剩余的空瓶和盖是多少。
def get_bottle(bottle, cap, empty):
    if bottle < 1 and cap <3  and empty <2:
        return 0
    else:
        new_bottle = cap//3+empty//2
        new_cap = new_bottle+cap%3
        new_empty = new_bottle+empty%2
        return bottle+get_bottle(new_bottle, new_cap,new_empty)

print(get_bottle(20, 20, 20))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-13 04:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表