法一:
users = {
'root':['redhat','2','None','18'],
}
info = '''
用户管理系统
1. 注册新用户;
2. 用户登陆
3. 注销用户
4. 显示用户信息
5. 退出系统
请输入您的选择: '''
while 1:
choice = raw_input(info).strip()
if choice == '1':
print '注册新用户'.center(40,'*')
name = raw_input('*注册用户名: ')
if name in users:
print '该用户名已存在,请重新输入'
continue
else:
users[name]=[]
rpasswd = raw_input('*用户密码: ')
users[name].append(rpasswd)
while 1:
gender = raw_input('*性别(0-女性 1-男性 2-其他):').strip()
s = ['0','1','2']
if gender not in s:
print '请输入正确选择'
else:
users[name].append(gender)
break
email = raw_input('*邮箱: ')
if email == '':
users[name].append('None')
else:
users[name].append(email)
while 1:
age = raw_input('*年龄: ')
if age.isdigit():
users[name].append(age)
break
elif age == '':
users[name].append('None')
break
else:
print '输入格式有误,请输入数字或空'
continue
print '新用户%s注册成功!!!'%(name)
continue
elif choice == '2':
n = 0
print '用户登录'.center(40,'*')
iname = raw_input('*用户名: ')
if iname not in users:
print '用户名不存在!'
else:
while n < 3:
ipasswd = raw_input('*密码: ')
if not ipasswd == users[iname][0]:
print '密码错误,请重新输入'
n += 1
continue
else:
print '用户 %s 登陆成功!!!'%(iname)
break
else:
print '超过三次,登陆失败!!!'
elif choice == '3':
print '注销用户'.center(40,'*')
iname = raw_input('*用户名: ')
if iname not in users:
print '用户名不存在!'
else:
ipasswd = raw_input('*密码: ')
if not ipasswd == users[iname][0]:
print '密码错误!'
else:
users.pop(iname)
print '用户 %s 注销成功!!!' % (iname)
elif choice == '4':
print '显示用户信息'.center(40,'*')
for i in users.keys():
print '''用户:%s 性别:%s 邮箱:%s 年龄:%s'''%(i,users[i][1],users[i][2],users[i][3])
elif choice == '5':
print '您已退出'
break
法二:
users = {
'root': {
'name': 'root',
'password': 'redhat',
'gender': 2,
'email': '',
'age': 18
},
}
info = '''
用户管理系统
1. 注册新用户;
2. 用户登陆
3. 注销用户
4. 显示用户信息
5. 退出系统
请输入您的选择: '''
while 1:
choice = raw_input(info).strip()
if choice == '1':
print '注册新用户'.center(40,'*')
rname = raw_input('*注册用户名: ')
if rname in users:
print '该用户名已存在,请重新输入'
continue
else:
rpasswd = raw_input('*用户密码: ')
while 1:
rgender = raw_input('*性别(0-女性 1-男性 2-其他): ').strip()
s = ['0','1','2']
if rgender not in s:
print '请输入正确选择'
else:
break
remail = raw_input('*邮箱: ')
if not remail:
remail = 'None'
while 1:
rage = raw_input('*年龄: ')
if not rage:
rage = 'None'
elif rage.isdigit():
break
else:
print '输入格式有误,请输入数字或空'
continue
users[rname]={
'name':rname,
'passwd':rpasswd,
'gender':rgender,
'age':rage,
'email':remail,
}
print '新用户%s注册成功!!!'%(rname)
continue
elif choice == '2':
n = 0
print '用户登录'.center(40,'*')
iname = raw_input('*用户名: ')
if iname not in users:
print '用户名不存在!'
else:
while n < 3:
ipasswd = raw_input('*密码: ')
if not ipasswd == users[iname]['passwd']:
print '密码错误,请重新输入'
n += 1
continue
else:
print '用户 %s 登陆成功!!!'%(iname)
break
else:
print '超过三次,登陆失败!!!'
elif choice == '3':
print '注销用户'.center(40,'*')
iname = raw_input('*用户名: ')
if iname not in users:
print '用户名不存在!'
else:
ipasswd = raw_input('*密码: ')
if not ipasswd == users[iname]['passwd']:
print '密码错误!'
else:
users.pop(iname)
print '用户 %s 注销成功!!!' % (iname)
elif choice == '4':
print '显示用户信息'.center(40,'*')
for key,value in users.items():
print '用户:%s'%(key),
print '性别:%s'%(value['gender']),
print '邮箱:%s'%(value['email']),
print '年龄:%s'%(value['age'])
elif choice == '5':
print '您已退出'
break