用python字典完成登陸
阿新 • • 發佈:2019-01-24
題目:使用者管理系統V3:
初始化有一個系統管理員:
使用者分為兩種:
使用者登入:
- 登陸
- 退出
判斷使用者型別:
系統管理員功能:
- 1.新增使用者
- 4.檢視所有使用者資訊
- 5.退出:
普通使用者功能:
- 1.檢視個人資訊
- 2.登出
- 2.退出
要求:
1. 根據使用者身份,進入不同的管理介面;
2. 系統初始化一個系統管理員帳號;
3. 只有系統管理員可以新增使用者和檢視使用者所有資訊;
4. 普通使用者只能檢視個人資訊,和登出帳號;
原始碼
#!/usr/bin/env python
#coding=utf-8
"""
file:login3.py
date:9/2/17 8:07 PM
author:wangweibo
desc:
"""
logintable={"root":[1,"westos"],"wang":[0,"westos"]}
guanliyuanjiemian="""
1.新增使用者
2.檢視所有使用者資訊
3.退出:
"""
putongyonghujiemian="""
1.檢視個人資訊
2.登出
3.退出
"""
def adduser():
newuser=raw_input("請輸入使用者名稱:")
newpasswd=raw_input("請輸入密碼:" )
newname=raw_input("請輸入使用者身份(0-普通使用者,1-管理員):")
logintable.setdefault(newuser,[newname,newpasswd])
print "新增使用者成功"
def deluser():
olduser=raw_input("請輸入使用者名稱:")
oldpasswd=raw_input("請輸入密碼:")
if logintable.has_key(olduser):
if oldpasswd in logintable.get(user):
logintable.pop(olduser)
else :
print "密碼錯誤"
else:
print "帳號不存在"
def showuser(user,name):
if name==1:
for key,value in logintable.items():
print key,value[0],value[1]
else:
for key, value in logintable.items():
if key == user:
print key, value[0], value[1]
def guanliyuan(user,passwd):
if passwd not in logintable.get(user):
print "密碼錯誤"
else:
while True:
chiose=input(guanliyuanjiemian)
# d={
# 1:adduser(),
# 2:showuser(user,1),
# }
# if d.has_key(chiose):
# d[chiose]
# else:
# break
if chiose == 1:
adduser()
elif chiose == 2:
showuser(user,1)
else:
break
def putongyonghu(user,passwd):
if passwd not in logintable.get(user):
print "密碼錯誤"
else:
while True:
chiose = input(putongyonghujiemian)
# d = {
# 1:showuser(user,0),
# 2:deluser()
# }
# if d.has_key(chiose):
# d[chiose]
# else:
# break
if chiose == 1:
showuser(user, 0)
elif chiose == 2:
deluser()
else:
break
LoginTime = 0
while LoginTime<3:
user=raw_input("請輸入使用者名稱:")
passwd=raw_input("請輸入密碼:")
if logintable.has_key(user):
if 1 in logintable.get(user) : #1 管理員
guanliyuan(user,passwd)
break
else:
putongyonghu(user,passwd)
break
else:
print "帳號不存在"
LoginTime+=1
if LoginTime == 3:
print "登陸超過三次,登陸失敗"