zoukankan      html  css  js  c++  java
  • python学习笔记day06 购物车实现

    作业要求

    1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表

    2、允许用户根据商品编号购买商品

    3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒

    4、可随时退出,退出时,打印已购买商品和余额

    5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示

    6、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买

    7、允许查询之前的消费记录

    #实现购物车功能(假定不同用户,用户名不同)
    user_info={}  #存放用户信息包括用户名,密码,工资等信息
    goods_info={'电脑':4000,'手机':3000,'鼠标':50,'':30,'耳机':60}  #商品
    stop=1
    while stop:
        username = input('用户名>>>')
        password = input("密码>>>")
        print('商品信息如下:')
        for name, price in goods_info.items():
            print(name, price)
        goods_buying_info = []
        flag=1
        while flag:
            if username not in user_info:  #输入新的用户名和密码
                salary=float(input("工资>>>"))  #新用户需要输入工资
                user_info[username] = {'password': password,'salary':salary}
    
            goods_name=input('要购买的商品>>>')  #输入想要购买的商品名称
            if goods_name.upper()=='Q':
                if goods_buying_info is []:  #未购买商品
                    print("您尚未购买商品")
                else:
                    print('您已购商品为:',goods_buying_info)
                print("您还有余额:",user_info[username]['salary'])
                flag=0
            if goods_name in goods_info:
                if user_info[username]['salary'] >=goods_info[goods_name]:
                    goods_buying_info.append(goods_name)
                    salary=salary-goods_info[goods_name]  #更新该用户余额
                    user_info[username]['salary']=salary
                else:
                    print("money is not enough~")
                    flag=0  #退出当前用户
    
            else:
                print("please input right goods_name")
                continue
        info=input('continue(Y or N)?')
        if info.upper()=='N':
            stop=0
    talk is cheap,show me the code
  • 相关阅读:
    程序员必读书籍及部分图书导读指南
    Git客户端图文详解如何安装配置GitHub操作流程攻略
    c/c++中int main(int argc,char *argv[])的具体含义
    各大编程语言的特点/区别/类型系统
    Linux 下 make 命令 及 make 笔记
    STL之heap与优先级队列Priority Queue详解
    基金风险等级和客户风险承受能力评价标准公示
    markdown编辑器使用指南
    优秀程序员的良好的学习方式,特征,生活和学习的习惯
    db timedb / ClickHouse / clickhouse
  • 原文地址:https://www.cnblogs.com/xuanxuanlove/p/9520466.html
Copyright © 2011-2022 走看看