购物系统Mini

2018-07-21  本文已影响0人  Vsion8980

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("余额不足,请充值。。。")





上一篇下一篇

猜你喜欢

热点阅读