生活中经常遇到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元
************************************************************