'''
实现功能: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)