我是靠谱客的博主 心灵美刺猬,最近开发中收集的这篇文章主要介绍Python 打印购物小票打印购物小票,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

打印购物小票

需求:

  • 指定折扣
  • 输入购买商品单价与数量、顾客交费
  • 结算时打印购物小票,计算此次购物总金额,顾客交费,商店找补,以及购物积分
  • 钱不够时,提醒顾客继续交钱
  • 只给三次交钱机会
"""
功能:打印购物小票
作者: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

最后

以上就是心灵美刺猬为你收集整理的Python 打印购物小票打印购物小票的全部内容,希望文章能够帮你解决Python 打印购物小票打印购物小票所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部