day21 atm项目 shopping_car

shopping_car()

复制代码
from atm.lib_common.file_handle import *
from atm.core.shopping import goods_show
from atm.lib_common.money_enquiry import *


def compute_money_total(username):
    """计算购物车总价
        返回购物车总价和购物车字典

    """
    goods_dict=dict()
    money_total=0
    print("\033[0;33;40m", "欢迎来到购物车功能", "\033[0m")
    goods_list=file_r(r"F:\pylearn\atm\api\购物车列表.txt")
    for i in goods_list:
        goodsname=i.strip().split(":")[1] # 商品名称
        goodsnum=i.strip().split(":")[2]# 数量
        goodsmoney=i.strip().split(":")[3]  # 小计
        goods_dict[goodsname]=[goodsnum,goodsmoney]
    #print(goods_dict)
    for i in goods_dict:
        if goods_dict[i][1].isdigit():
            goods_money_int=int(goods_dict[i][1])
            #print(goods_money_int)
            money_total=money_total+goods_money_int
    #print(money_total)
    return money_total,goods_dict




def modify_shopping_car(username):
    """修改购物车商品以及数量"""
    money_total,goods_dict=compute_money_total("黄健")
    print("\033[0;33;40m", "现有购物车列表如下", "\033[0m")
    print(goods_dict)
    print(f"总共需要支付{money_total}")
    money_enquiry(username)
    goods_np_dict=goods_show()
    #print(goods_np_dict)
    modify_target=input("请输入你想修改的商品名称:>>>")
    modify_num=input(f"你想将{modify_target}的数量更改为:>>>")

    goods_dict[modify_target][0]=modify_num#修改数量
    goods_dict[modify_target][1]=int(goods_np_dict[modify_target])*int(modify_num)#修改小计
    print("\033[0;33;40m", "修改成功!修改后购物车列表如下", "\033[0m")
    print(goods_dict)

    file_w(r"F:\pylearn\atm\api\购物车列表.txt", "用户名:商品名称:数量:小计\n")
    with open(r"F:\pylearn\atm\api\购物车列表.txt","a",encoding="utf8") as fa:
        for i in goods_dict:
            if i !="商品名称":
                fa.write(f"{username}:{i}:{goods_dict[i][0]}:{goods_dict[i][1]}\n")

    money_total,goods_dict=compute_money_total("黄健")
    print(f"修改后需要支付{money_total}")
复制代码

 

posted @   Junior_bond  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示