''' 实现功能:1,用户登陆 2. 判断是否是新用户,新用户完成注册 3. 不是新用户提示登陆成功 4.根据用户选择是否完善个人信息,未完善年龄默认为18 5.未成年人禁止入内 ''' def add_users(fn): def inner(name, pass_word, **kwargs): if kwargs.get('age', 18) < 18: print('未成年人禁止访问!') elif name in set(map(lambda it: it['name'], Users)): fn(name, pass_word, **kwargs) else: user = {} user['name'] = name user['password'] = pass_word user['age'] = kwargs.get('age', 18) user['phone_number'] = kwargs.get('phone_number', 'None') Users.append(user) print('Registration success') return inner @add_users def is_users(name, pass_word, **kwargs): user = Users[list(map(lambda it: it['name'], Users)).index(name)] if pass_word == user['password']: if kwargs.get('flag') == 'Y': user['age'] = kwargs.get('age', 18) user['phone_number'] = kwargs.get('phone_number', 'None') print('Landed successfully') else: print('Wrong Password!') Users = [{'name': '李阳', 'password': '123'}] for i in range(0, 5): name = input('Please input your name: ') pass_word = input('Please input your password: ') flag = input('是否完善信息【Y/N】: ') if flag == 'Y': age = int(input('Please input your age: ')) phone_number = input('Please input your Phone number: ') is_users(name, pass_word, age=age, phone_number=phone_number, flag=flag) else: is_users(name, pass_word) print(Users)