需求:
- 指定折扣
- 输入购买商品单价与数量、顾客交费
- 结算时打印购物小票,计算此次购物总金额,顾客交费,商店找补,以及购物积分
- 钱不够时,提醒顾客继续交钱
- 只给三次交钱机会
""" 功能:打印购物小票 作者:Fulling 日期:2021年11月7日 """ # 输入部分 discount = 0.8 # 8折优惠 price1 = float(input("输入运动衫单价:")) amount1 = int(input('输入运动衫购买数量:')) price2 = float(input("输入网球鞋单价:")) amount2 = int(input('输入网球鞋购买数量:')) price3 = float(input("输入网球拍单价:")) amount3 = int(input('输入网球拍购买数量:')) payment = float(input('顾客实际交费:')) # 处理部分 money = (price1 * amount1 + price2 * amount2 + price3 * amount3) * discount # 计算购物金额 points = int(money // 33) # 计算购物积分 # 输出部分 print('***************消费单**************') print('%-8s%-6s%-6s%-6s' % ('购买物品', '单价', '数量', '金额')) print('%-8s%-8.2f%-8d%-8.2f' % ('运动衫', price1, amount1, price1 * amount1)) print('%-8s%-8.2f%-8d%-8.2f' % ('网球鞋', price2, amount2, price2 * amount2)) print('%-8s%-8.2f%-8d%-8.2f' % ('网球拍', price3, amount3, price3 * amount3)) print('***********************************') print('折扣:{}折'.format(int(discount * 10))) print('消费总金额:¥{}'.format(round(money, 2))) print('实际交费:¥{}'.format(payment)) # 三次机会 if payment > money: change = payment - money # 计算找钱 print('找钱:¥{}'.format(round(change, 2))) print('本次购物所获得的积分:{}'.format(points)) else: for i in range(0, 3): if payment >= money: change = payment - money # 计算找钱 print('找钱:¥{}'.format(round(change, 2))) print('本次购物所获得的积分:{}'.format(points)) break else: print('支付金额不够,还需支付{:.2f}'.format(float(money - payment))) payment = float(input('继续支付:')) + payment if i == 2: print('钱不够,不卖了')
钱不够时 输出结果:
输入运动衫单价:59.9 输入运动衫购买数量:1 输入网球鞋单价:158.9 输入网球鞋购买数量:1 输入网球拍单价:218 输入网球拍购买数量:2 顾客实际交费:500 ***************消费单************** 购买物品 单价 数量 金额 运动衫 59.90 1 59.90 网球鞋 158.90 1 158.90 网球拍 218.00 2 436.00 *********************************** 折扣:8折 消费总金额:¥523.84 实际交费:¥500.0 支付金额不够,还需支付23.84 继续支付:10 支付金额不够,还需支付13.84 继续支付:10 支付金额不够,还需支付3.84 继续支付:2 钱不够,不卖了
钱够时 输出结果:
输入运动衫单价:59 输入运动衫购买数量:2 输入网球鞋单价:158 输入网球鞋购买数量:1 输入网球拍单价:200 输入网球拍购买数量:1 顾客实际交费:800 ***************消费单************** 购买物品 单价 数量 金额 运动衫 59.00 2 118.00 网球鞋 158.00 1 158.00 网球拍 200.00 1 200.00 *********************************** 折扣:8折 消费总金额:¥380.8 实际交费:¥800.0 找钱:¥419.2 本次购物所获得的积分:11
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)