首页 > 其他分享 >day19 atm项目 shopping()

day19 atm项目 shopping()

时间:2023-12-10 21:56:42浏览次数:44  
标签:goods shopping atm list choice print day19

from atm.lib_common.file_handle import *
from atm.lib_common.moner_enquiry import *

def goods_show():
    """商品名称及价格获取"""
    goods=file_r(r"F:\pylearn\atm\api\商品列表.txt")
    #print(goods)
    goodslist_len=len(goods)
    #print(goodslist_len)
    goods_name_list=list()
    goods_price_list=list()
    goods_np_dict=dict()
    for i in range(goodslist_len):
        goods_name_list.append(goods[i].strip().split(":")[0])#商品名称列表
        goods_price_list.append(goods[i].strip().split(":")[1])#商品价格列表
        goods_np_dict[goods[i].strip().split(":")[0]]=goods[i].strip().split(":")[1]#名称:价格字典
    return goods_np_dict

def shopping(username):
    """购物"""
    print("\033[0;33;40m", "欢迎来到购物功能", "\033[0m")
    file_w(r"F:\pylearn\atm\api\购物车列表.txt", "用户名:商品名称:数量:小计\n")
    goods=goods_show()#商品名称价格字典
    print("下面是商品列表\n",goods)
    shopping_flag=True
    while shopping_flag:
        goods_choice=input(f"尊敬的用户{username}请输入你想要购买的商品名称! 按q退出选购:>>>>")
        if goods_choice=="q":
            print("欢迎下次再来!")
            return
        elif goods_choice not in goods:
            print("您输入的商品不存在!")
            continue

        else:
            goods_number=input("请选择您购买的数量:>>>")
            print(f"尊敬的用户{username}您好,以下是您的购物信息:>>>")
            print(f"商品名称:{goods_choice},商品单价:{goods[goods_choice]},购买数量:{goods_number}")
            total_price=int(goods[goods_choice])*int(goods_number)
            print(f"总价为:{total_price}")
            adding_choice=input("是否加入购物车,确认输入y,取消输入n:>>>")
            if adding_choice=="y":
                file_a(r"F:\pylearn\atm\api\购物车列表.txt",f"{username}:{goods_choice}:{goods_number}:{total_price} \n")
                print("\033[0;31;40m恭喜您!已成功加入购物车!\033[0m")
                shopping_again_1=input("是否继续购物?继续购物请按y,退出请按q:>>>")
                if shopping_again_1=="y":
                    print("*" * 120)
                    print("请继续选购!")
                elif shopping_again_1=="q":
                    print("欢迎下次再来!")
                    return
            elif adding_choice=="n":
                print("取消成功!")
                shopping_again_2 = input("是否继续购物?继续购物请按y,退出请按q:>>>")
                if shopping_again_2 == "y":
                    print("*" * 120)
                    print("请继续选购!")
                elif shopping_again_2 == "q":
                    print("欢迎下次再来!")
                    return







shopping("黄健")

 

标签:goods,shopping,atm,list,choice,print,day19
From: https://www.cnblogs.com/yyyjw/p/17893305.html

相关文章

  • 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()......
  • Day19 Java 流程控制01:用户交互Scanner
    Java流程控制01:用户交互ScannerScanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类:Scanner类,可以通过它来获取用户的输入基本语法:Scannerscanner=newScanner(System.in);通过Scanner类的next()与nextLine()方......
  • 基于ATMega16的流水灯实例(汇编)
    本例在ATMega16上,利用汇编程序实现一个流水灯,主要讨论寄存器移位及软件延时的使用方法。本例中的八个LED电路通过限流电阻及跳线帽接在PA端口,电路如下图所示。完整的汇编代码如下。 .INCLUDE"M16DEF.INC".DEFTMP=R16;定义一个R16寄存器的别名(R不能......
  • 基于ATMega16的最小系统及其开发环境简介
    AVR实验例程用的最小系统如下图所示,芯片采用ATMega16A,主晶振频率为8MHz,异步晶振频率为32768Hz,系统采用JTAG接口调试及下载程序。以上仅是最小系统的电路图,后续例程中使用到的额外电路会在例程中给出相应的模块电路。AVRStudio集成开发环境(IDE)是专门用于开发AVR单片机的开发软......
  • pythonDay19
    文件的两种用途from  import导入模块(都在同一个路径下) from  import案例 循环导入模块产生的问题 导入模块的优先级 如何解决第一次导入模块以后第二次再导入时候的路径来源 解决导入的模块路径来源不在同一个路径 包被导入是要注意的三点 相对......
  • 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......