Python实现简单的商品购买,购物车结算

原创 阁主  2026-02-20 00:21:22  阅读 1301 次 评论 0 条
摘要:

使用Python实现简单的商品购买,购物车结算。

介绍

这个示例简单的使用基础的Python语法和函数方法,编写一个购物车结算小系统,完成基础的学习应用。

代码

# 字典存储商品信息
dict_commodity_info = {
    101: {"name": "屠龙刀", "price": 10000},
    102: {"name": "倚天剑", "price": 10000},
    103: {"name": "九阴白骨爪", "price": 8000},
    104: {"name": "九阳神功", "price": 9000},
    105: {"name": "降龙十八掌", "price": 8000},
    106: {"name": "乾坤大挪移", "price": 10000}
}
# 列表存储购物车的信息(内部存字典)
list_order = []


def buying():
    """
        购买
    """
    print_commdity_info()
    dict_order = create_order()
    list_order.append(dict_order)
    print("添加到购物车。")


def create_order():
    """
        创建订单
    :return: 字典类型的订单对象
    """
    while True:
        cid = int(input("请输入商品编号:"))
        if cid in dict_commodity_info:
            break
        else:
            print("该商品不存在")
    count = int(input("请输入购买数量:"))
    return {"cid": cid, "count": count}


def print_commdity_info():
    for key, value in dict_commodity_info.items():
        print("编号:%d,名称:%s,单价:%d。" % (key, value["name"], value["price"]))


def shopping():
    """
        购物
    """
    while True:
        item = input("1键购买,2键结算。")
        if item == "1":
            buying()
        elif item == "2":
            settlement()


def settlement():
    """
        结算
    """
    total_price = calculate_total_price()
    print_order_into()
    paying(total_price)


def paying(total_price):
    """
        支付
    :param total_price:数值类型的总价
    """
    while True:
        money = float(input("总价%d元,请输入金额:" % total_price))
        if money >= total_price:
            print("购买成功,找回:%d元。" % (money - total_price))
            list_order.clear()
            break
        else:
            print("金额不足.")


def print_order_into():
    for order in list_order:
        dict_commodity = dict_commodity_info[order["cid"]]
        print("商品:%s,单价:%d,数量:%d." % (dict_commodity["name"], dict_commodity["price"], order["count"]))


def calculate_total_price():
    """
        计算总价
    :return: 数值类型的总价格
    """
    total_price = 0
    for order in list_order:
        dict_commodity = dict_commodity_info[order["cid"]]
        total_price += dict_commodity["price"] * order["count"]
    return total_price


shopping()

效果

1键购买,2键结算。1
编号:101,名称:屠龙刀,单价:10000。
编号:102,名称:倚天剑,单价:10000。
编号:103,名称:九阴白骨爪,单价:8000。
编号:104,名称:九阳神功,单价:9000。
编号:105,名称:降龙十八掌,单价:8000。
编号:106,名称:乾坤大挪移,单价:10000。
请输入商品编号:101
请输入购买数量:20
添加到购物车。
1键购买,2键结算。102
1键购买,2键结算。30
1键购买,2键结算。2
商品:屠龙刀,单价:10000,数量:20.
总价200000元,请输入金额:2000000
购买成功,找回:1800000元。
1键购买,2键结算。
本文地址:https://www.mainblog.cn/304.html
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。
NEXT:已经是最新一篇了

评论已关闭!