首页 > 其他分享 >day21 atm项目 shopping_car

day21 atm项目 shopping_car

时间:2023-12-13 14:11:46浏览次数:23  
标签:goods shopping money atm day21 购物车 dict print total

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}")

 

标签:goods,shopping,money,atm,day21,购物车,dict,print,total
From: https://www.cnblogs.com/yyyjw/p/17898919.html

相关文章

  • day19 atm项目 shopping()
    fromatm.lib_common.file_handleimport*fromatm.lib_common.moner_enquiryimport*defgoods_show():"""商品名称及价格获取"""goods=file_r(r"F:\pylearn\atm\api\商品列表.txt")#print(goods)goodslist_len=len......
  • Python:函数综合案例-黑马ATM
    综合案例:黑马ATM主菜单查询余额效果存取款效果#总额totaltotal=5000000#定义None影响不大,可以不定义name=None#要求客户输入姓名name=input("请输入您姓名:")#菜单提示defmenu():print("-"*19+"主菜单"+"-"*19)print(f"{name},您......
  • day 17 atm项目 money_recharge() money_reduce()
    money_recharge() fromatm.lib_common.file_handleimport*defmoney_recharge(username,money_recharge):"""充值函数"""user_pwd_money=file_r(r"F:\pylearn\atm\api\账户密码.txt")username_pwd=dict()......
  • Day21 顺序结构及选择结构中的If结构
    顺序结构Java的基本结构就是顺序结构,从上到下的顺序执行,是任何一种算法都离不开的基本算法结构packagecom.baixiaofan.struct;publicclassShunXuDemo{publicstaticvoidmain(String[]args){System.out.println("hello1");//按顺序一句一句执行......
  • 基于ATMega16的流水灯实例(汇编)
    本例在ATMega16上,利用汇编程序实现一个流水灯,主要讨论寄存器移位及软件延时的使用方法。本例中的八个LED电路通过限流电阻及跳线帽接在PA端口,电路如下图所示。完整的汇编代码如下。 .INCLUDE"M16DEF.INC".DEFTMP=R16;定义一个R16寄存器的别名(R不能......
  • 基于ATMega16的最小系统及其开发环境简介
    AVR实验例程用的最小系统如下图所示,芯片采用ATMega16A,主晶振频率为8MHz,异步晶振频率为32768Hz,系统采用JTAG接口调试及下载程序。以上仅是最小系统的电路图,后续例程中使用到的额外电路会在例程中给出相应的模块电路。AVRStudio集成开发环境(IDE)是专门用于开发AVR单片机的开发软......
  • hszxoj ATM [tarjan]
    hszxojATM题目描述:$Siruseri$城中的道路都是单向的。不同的道路由路口连接。按照法律的规定,在每个路口都设立了一个$Siruseri$银行的$ATM$取款机。令人奇怪的是,$Siruseri$的酒吧也都设在路口,虽然并不是每个路口都设有酒吧。$Banditji$计划实施$Siruseri$有史以来最......
  • Grafana学习(5)——Introduction to histograms and heatmaps
    Ahistogramisagraphicalrepresentationofthedistributionofnumericaldata.Itgroupsvaluesintobuckets(sometimesalsocalledbins)andthencountshowmanyvaluesfallintoeachbucket.Insteadofgraphingtheactualvalues,histogramsgraphthe......
  • Chinese Wisdom on Sewage Treatment in India
    ChinaprogramComprehensivelycontrolpollutantemissions(1)Paycloseattentiontothepreventionandcontrolofindustrialpollution.Banthe"tensmall"enterprises.Comprehensivelyinvestigatesmallindustrialenterpriseswithlowequipme......
  • c语言ATM机案例
    1#include<stdio.h>2intmain()3{4//password初始密码,input输入的密码money取款金额,balance卡余额,select选项,x表示输入密码的次数(错误的机会只有三次)5intpassword=1101,input,money,balance=300;6//select表示选择的选项7intselect......