1. 程式人生 > >用python字典完成登陸

用python字典完成登陸

題目:使用者管理系統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 "登陸超過三次,登陸失敗"

測試結果

管理員部分測試結果

這裡寫圖片描述

普通使用者測試部分

這裡寫圖片描述