python+ 酒馆做活动的问题

题目:
酒馆做活动,1块钱喝一瓶啤酒,2个空瓶可以兑换一瓶啤酒,4个瓶盖可以兑换一瓶啤酒。如果有15块钱,最多可以喝多少瓶啤酒? 写个程序来计算,输入n元钱,输出可以喝多少瓶酒的数量(不允许借用)

total = 0  # 最终喝多少
left_bottle = 0  # 剩余的瓶子
left_cap = 0  # 剩余的盖子


def cal_num(bottle, bottle_gaizi):
    global total, left_bottle, left_cap

    beers = 0

    # 瓶子,盖 换酒
    jiu_gai, yu_gai = divmod(bottle_gaizi, 4)
    jiu_ping, yu_jiu_ping = divmod(bottle, 2)
    beers += (jiu_ping + jiu_gai)
    total += beers

    bottle_gaizi = yu_gai + beers  # 剩余的盖子+ 啤酒
    bottle = yu_jiu_ping + beers  # 剩余的瓶子+ 啤酒
    if bottle_gaizi // 4 > 0 or bottle // 2 > 0:
        cal_num(bottle, bottle_gaizi)
    else:
        left_bottle = bottle
        left_cap = bottle_gaizi


if __name__ == '__main__':
    money = 15
    total, left_bottle, left_cap = money // 1, money // 1, money // 1

    cal_num(left_bottle, left_cap)
    print(total, left_bottle, left_cap)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章