美文网首页
购物系统Mini

购物系统Mini

作者: Vsion8980 | 来源:发表于2018-07-21 17:44 被阅读0次

    Python源码 (暂时无数据库)。。。

    输入工资,打印商品列表。
    根据商品编号购买商品。
    选择商品后,检测余额。
    可随时退出,并打印购买的商品和余额。

    购物系统(Beta3.0)

    新增了登录系统;

    问题:

    ①登录配置文件必须手动创建于指定路径中;
    ②帐号ID/密码必须是数字;
    ③ID长度不可控;
    ④如果某ID的密码恰好为另一个ID的帐号,密码返回空值且不可登录;
    ⑤购物记录显示不清晰。

    _author_:Mansion_Qiu
    Goods = {'饮料': 3, '矿泉水': 1, '面包': 4, '可乐': 3.5, '冰淇凌': 5}
    goodsNow = [];
    His = [];
    
    
    def register():
        loginlog = open("cache/login.log", 'a')
        id = int(input("请输入你的自定义ID(限6位):"))
        pswd = int(input("请输入密码(仅数字!):"))
        loginlog.write("%s\n" % id)
        loginlog.write("%s\n\n" % pswd)
        loginlog.close()
        print("注册成功!")
    
    def login():
        loginlog=open('cache/login.log','r')
        id = input("请输入你的自定义ID(限6位):")
        pswd = int(input("请输入密码:"))
        for line in loginlog:
            if id in line:
                f_password=loginlog.readline()
                password=int(f_password)
    
                if pswd==password:
                    print("登录成功!")
                    System()
                else :
                    print("密码有误,请重新输入。")
                    login()
            else:
                print("无此ID,请注册。。。")
                register()
    
        loginlog.close()
    
    def System():
        salary = int(input("请输入你的工资:"))
        i = 1
        for goods in Goods.items():
            print(i, goods)
            goodsNow.append(goods);
            i += 1;
    
        Salary = 0
        while Salary < salary:
            Item = int(input("请输入你要购买的商品编号:"))
            if Item > 0:
                His.append(goodsNow[Item - 1])
                salary = salary - goodsNow[Item - 1][1];
            if Item == 0:
                break
        if salary >= 0:
            pass
        elif salary < 0:
            salary = salary + His[-1][1]
            print('您的余额不足!')
            His.pop(-1)
    
        print("您购买的商品如下:", His)
        print("您的余额还剩:%d元" % salary)
    
    main=int(input('请输入操作:1.登录,2.注册'))
    
    if main==1:
        login()
    
    
    
    if main==2:
        register()
    
        while(1):
            choose=input("是否要登录呢? y/n")
            if choose=='y' or 'yes':
                login()
            elif choose=='n' or 'no':
                exit()
            else:
                print("输入错误!")
    
    
    
    
    
    
    

    购物系统(Beta2.0)

    修复了余额不足时扣款错误的bug;
    优化了代码运行效率;

    问题:

    ① 购物记录显示不清晰。

    _author_: Mansion_Qiu
    Goods = {'饮料': 3, '矿泉水': 1, '面包': 4, '可乐': 3.5, '冰淇凌': 5}
    goodsNow = [];
    His = [];
    
    
    salary = int(input("请输入你的工资:"))
    i=1
    for goods in Goods.items():
        print(i,goods)
        goodsNow.append(goods);
        i +=1;
    
    Salary = 0
    while Salary < salary:
        Item = int(input("请输入你要购买的商品编号:"))
        if Item >0:
            His.append(goodsNow[Item-1])
            salary=salary-goodsNow[Item-1][1];
        if Item==0:
            break
    if salary>=0:
        pass
    elif salary<0:
        salary = salary + His[-1][1]
        print('您的余额不足!')
        His.pop(-1)
    
    
    print("您购买的商品如下:",His)
    print("您的余额还剩:%d元" % salary)
    

    购物系统(Beta1.0)

    问题:

    ① 余额不足时无法显示余额或余额为负。
    ② 购物清单不可去重。

    _author_: Mansion_Qiu
    
    Goods = ['饮料','矿泉水','面包','可乐','冰淇凌']
    His=[];
    
    
    salary = int(input("请输入你的工资:"))
    
    for i in range(len(Goods)):
        print(i+1,Goods[i])
    
    Salary=0
    
    while Salary<salary:
    
        BuyItem=int(input("请输入你要购买的商品编号:"))
        if BuyItem==1:
            salary=salary-5;
            His.append("饮料");
        elif BuyItem==2:
            salary=salary-1;
            His.append("矿泉水");
        elif BuyItem==3:
            salary=salary-3;
            His.append("面包");
        elif BuyItem==4:
            salary=salary-4;
            His.append("可乐");
        elif BuyItem==5:
            salary=salary-5;
            His.append("冰激凌");
        elif BuyItem>5:
            print("请输入正确的编号!");
        elif BuyItem==0:
            break;
    if salary>=0 :
        print("购买的商品:",",".join(His[:]),"余额:",salary);
    elif salary<0:
        del His[-1]
        print("购买的商品:",",".join(His[:]));
        print("余额不足,请充值。。。")
    
    
    
    
    
    

    相关文章

      网友评论

          本文标题:购物系统Mini

          本文链接:https://www.haomeiwen.com/subject/ynohmftx.html