购物车(完整版)

一世执手 提交于 2019-12-12 15:38:55
import  time
user_list=[]
shopping_car=[]
user_login={}
error_dic={}

def read_all_user():
    if user_list:
        return
    with open('account_info.txt','rt',encoding='utf-8') as f:
        text=f.read()
        if not text:return
        text=text.split(',')
        for i in text:
            temp=i.split('|')
            print(temp)
            d_dic={}
            d_dic['name']=temp[0]
            d_dic['pwd']=temp[1]
            
def user_exist(username):
    for user in user_list:
        if user['name']==username:
            return True
        return False
    
def write_user(name,password):
    with open('account_info.txt','a+',encoding='utf-8')as f:
        old=',%s|%s|0'%(name,password)
        f.write(old)
        
def register():
    while True:
        name = input('请输入用户名:').strip()
        password=input('请输入密码:').strip()
        if name and password:
            print('ok')
            if user_exist(name):
                print('用户名已存在')
                continue
            else:
                print('可以注册')
                if len(password)<6:
                    print('密码不能少于6位')
                    continue
                else:
                    print('注册成功')
                    write_user(name,password)
                    user_list.append({'name':name,'pwd':password,'money':'0'})
                    return
        else:
            print('用户或密码不能为空')

def login():
    while True:
        name=input('请输入用户名 输入0返回上层:')
        if name=='0':
            return
        flag=False
        for user in user_list:
            if user['name']==name:
                flag=True
                break
        else:
            print('用户不存在,请先注册')
            continue
        password=input('请输入密码:')
        for user in user_list:
            if user['name']==name and user['pwd']==password:
                print('登陆成功 欢迎:%s'%name)
                user_login['name']=name
                user_login['pwd']=password
                user_login['money']=user['money']
                user_login['shopping_car']=shopping_car
                return  True
        print('用户名或者密码不正确,请重新输入')
        if name not in error_dic:
            error_dic[name]=1
        else:
            error_dic[name]=1+error_dic[name]
            
def lock_user(username):
    for user in user_list:
        if user['name']==username:
            user['locktime']=str(time.time())
            print(username+'被锁定')
            print(user_list)

def shopping():
    if not user_login:
        return
    while True:
        shopping=[['1','sony xm3000x',2988],['2','gtx1080ti',10000]]
        for i in shopping:
            print('商品号:{},{}:{}'.format(i[0],i[1],i[2]))
        num=input('请输入您购买的商品号或者物品名(输入0退出):')
        if num=='0':
            print(shopping_car)
            return
        for i in shopping:
            if num not in i :
                continue
            else:
                user_login['shopping_car'].append(i)
                
def show_shopping_car():
    if not user_login:
        print('请先注册或者登陆')
        return
    else:
        print(user_login['shopping_car'])
        
def account_info():
    if not user_login:
        print('请先注册或者登陆')
        return
    print('账号:{} \n 密码:{}'.format(user_login['name'],user_login['pwd']))
    
def add_money():
     if not user_login:
         print('请先注册或者登陆')
         return
     while True:
         try:
             num=int(input('请输入充值的钱:'))
         except:
             print('请输入合法字符')
         for i in user_list:
             i['name']=user_login['name']
             i['name']=int(user_login['money'])+num
method_dic={'1':register,'2':login,'3':shopping,'4':show_shopping_car,'5':account_info,'6':add_money}
def main():
    read_all_user()
    while True:
        print('''
        欢迎使用拼多多商城 请选择
        1:注册
        2:登陆
        3:购物车
        4:查看购物车
        5:账户信息
        6:账户充值
        0:退出系统
        ''')
        chioce=input('请输入执行的功能:').strip()
        if chioce=='0':
                return
        if chioce not in method_dic:
            print('输入有误 请重新输入:')
            continue
        method_dic[chioce]()
main()
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!