Python 编程练习:自动售票机收益计算

小明经营了一家电影院,每张电影票单价为 5 元,由于价格实惠且影片质量很高,所以导致前来看电影的人特别多。

小明为了减轻自己的工作压力,特意买了一台自动售票机,自动售票机只可以接受面值为 5 元、10 元、20 元的纸币。接受大额纸币(即 10 元或 20 元的纸币)时,如果没有足够的零钱,售票机将拒绝售票并将纸币退给客户,如果有足够的零钱,售票机一定会出票并且找零。

每天一开始,售票机中是没有任何钱的。当天一共来了 n 位客户,每位客户只买一张票也只给售票机塞一张纸币。

售票机记录了,按照购票的顺序收到的 n 张纸币的面值,注意有的纸币因为无法找零会被退回,但是在售票机中记录不会删除。

由于小明每天统计收益非常麻烦(需要一张一张的数),他想邀请你帮他写一个程序:根据售票机的记录来快速计算出当天的收益。

输入格式

第一行,一个正整数 n,表示记录数量;

第二行,包含 n 个正整数 a1,a2,...an,,表示按照购票的顺序收到的 n 张纸币的面值,保证 ai 一定是 5、10、20 三者之一

输出格式

一行,一个整数,表示最后营收总金额

示例

输入

5
5 10 5 20 5

输出

25

代码

def calculate_revenue(n, bills):
    revenue = 0
    change = 0
for bill in bills:
    if bill == 5:
        revenue += 5
    elif bill == 10:
        if revenue < 5:
            return -1
        revenue += 5
        change += 5
    elif bill == 20:
        if revenue < 15:
            return -1
        if change >= 5:
            change -= 5
            revenue += 5
        else:
            if revenue < 10:
                return -1
            revenue += 5
            change += 5
            revenue -= 10

return revenue

n = int(input()) bills = list(map(int, input().split()))

revenue = calculate_revenue(n, bills) print(revenue)

Python 编程练习:自动售票机收益计算

原文地址: https://www.cveoy.top/t/topic/qx7l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录