day12 购物车系统实战

发布时间 2023-11-25 21:07:54作者: Junior_bond

注册函数:

def regisiter():
    with open(r"F:\pylearn\day12\购物车系统\账号密码.txt","r",encoding="utf8") as fr:
        user_dict=dict()
        data=fr.read()
        for i in range(len(data.split())):
            user_dict[data.split()[i].split("|")[0]]=data.split()[i].split("|")[1]
    #egi_count=0
    while True:
        user_regi=input("注册:请输入你的用户名:>>>>")
        if user_regi not in user_dict:
            pwd_regi=input("注册:请输入你的密码:>>>>")
            pwd_regi_again=input("请再次输入你的密码:>>>>")
            if pwd_regi==pwd_regi_again :
                with open(r"F:\pylearn\day12\购物车系统\账号密码.txt", "a", encoding="utf8") as fw:
                    fw.write(f"\n{user_regi}|{pwd_regi}")
                    print("注册成功!")
                    break
            else:
                print("两次输入的密码不一致,请重新再试!")

        else:
            print("此用户名已被注册!请更换一个用户名!")
            #regi_count+=1

登陆函数:

def logging():
    logging_count=0
    with open(r"F:\pylearn\day12\购物车系统\账号密码.txt","r",encoding="utf8") as fr:
        user_dict=dict()
        data=fr.read()
        for i in range(len(data.split())):
            user_dict[data.split()[i].split("|")[0]]=data.split()[i].split("|")[1]
        print(user_dict)
    print("你一共有3次输入账号密码的机会!")
    while logging_count<3:
        username=input("请输入你的用户名:>>>")
        pwd=input("请输入你的密码:>>>")
        if username in user_dict and pwd==user_dict.get(username):
            print("恭喜您,登陆成功!")
            break
        else:
            print("登陆失败请重新再试!")

            logging_count+=1
            print(f"你现在还有{3-logging_count}次机会")
            if logging_count==3:
                print("次数已用尽,不允许再登陆!")

账户余额查询函数:

def salary_account():
    with open(r"F:\pylearn\day12\购物车系统\账户余额.txt","r",encoding="utf8") as fr:
        salary=int(fr.read())
        #print("您的账户余额为:\n",salary)
    return salary
View Code

商品列表查询函数:

def sale_display():
    sale_dict=dict()
    with open(r"F:\pylearn\day12\购物车系统\商品列表.txt","r",encoding="utf8") as fr:
        sale_data=fr.read()
        for i in range(len(sale_data.split())):
            sale_dict[sale_data.split()[i].split(":")[0]]=sale_data.split()[i].split(":")[1]
        #print("商品列表如下:\n",sale_dict)

    return sale_dict
View Code

main函数:

#用户名和密码存放于文件中
# 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
# 允许用户根据商品编号购买商品
# 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
# 可随时退出,退出时,打印已购买商品和余额
import regisiter
import loggin
import buy
regi_flag=input("是否拥有账号?没有账号请输入n开始注册,否则按其他任意键开始登陆!>>>\n")
if regi_flag=="n":
    regisiter.regisiter()
    buy.buy()
else:
    loggin.logging()
    buy.buy()