用python实现AA制结算

生活中经常遇到AA的场景,比如几个同学一起玩,回到学校后需要分摊消费金额,以下python代码可以实现该功能

# -*- coding: utf-8 -*-
# -------------------------------
"""
Project name:AAdutch
Created on    2024/1/12 0:10
@author:      Acc
"""
# -------------------------------

import sys
import numpy as np

"""
每次输入参加消费人员的消费金额,以q结束
计算每个人应该收支的钱数
"""

member_money = []
money = 0
Number_of_members = 0

a = input("请输入一个参加消费人员的消费金额(单位元),以q结束:")

while a != "q":
    a = float(a)
    member = member_money.append(a)
    Number_of_members = Number_of_members+1
    money += a
    a = input("请输入一个参加消费人员的消费金额(单位元),以q结束:")

if a == "q":
    if Number_of_members == 0:
        print("没有消费成员,程序结束")
        sys.exit()
    else:
        member_money = np.array(member_money)
        tol = np.sum(member_money)
        print('*'*60)
        print("本次总消费金额为:  %.2f元"%tol)
        mean = tol/Number_of_members
        b = member_money-mean
        print('成员消费列表为:')
        print(member_money)
        print('*'*60)
        for i in range(len(b)):
            if b[i] > 0:
                print('成员'+str(i+1)+'  应收款  %.2f元'%b[i])
            elif b[i] == 0:
                print('成员'+str(i+1)+'无需收付款')
            else:
                print('成员'+str(i+1)+'  应付款  %.2f元'%abs(b[i]))

print('*'*60)

输出结果如下

 

请输入一个参加消费人员的消费金额(单位元),以q结束:12
请输入一个参加消费人员的消费金额(单位元),以q结束:45
请输入一个参加消费人员的消费金额(单位元),以q结束:462
请输入一个参加消费人员的消费金额(单位元),以q结束:q
************************************************************
本次总消费金额为:  519.00元
成员消费列表为:
[ 12.  45. 462.]
************************************************************
成员1  应付款  161.00元
成员2  应付款  128.00元
成员3  应收款  289.00元
************************************************************

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值