菜比之路

走菜比的路,让大牛说去吧
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

【python】实例-用户登录系统

Posted on 2015-11-04 19:15  毕加索的ma  阅读(637)  评论(0编辑  收藏  举报

有N,E,Q三个选择,若选择Q或者中断,则系统退出。若其他选项,则持续让用户选择。

#!/usr/bin/env python

db = {}

def newuser():
    prompt = 'login desired: '
    while 1:
        name = raw_input(prompt)
        if db.has_key(name):
            prompt = 'name taken, try another: '
            continue
        else:
            break
    pwd = raw_input('passwd: ')
    db[name] = pwd

def olduser():
    name = raw_input('login: ')
    pwd = raw_input('passwd: ')
    passwd = db.get(name)
    if passwd == pwd:
        pass
    else:
        print 'login incorrect'
        return

    print 'welcome back', name

def showmenu():##主函数名
    prompt = """
(N)ew User Login
(E)xisting User Login
(Q)uit

Enter choice: """

    done = 0 ##控制循环的控制器
    while not done:
        chosen = 0  ##控制循环的控制器
        while not chosen:
            try:
                choice = raw_input(prompt)[0]
            except (EOFError, KeyboardInterrupt):
                choice = 'q'
            print '\nYou picked: [%s]' % choice

            if choice not in 'neq':##非neq继续小循环
                print 'invalid menu option, try again'
            else:
                chosen = 1 ##跳出小循环

        if choice == 'q': done = 1 ##跳出大循环
        if choice == 'n': newuser()
        if choice == 'e': olduser()

if __name__ == '__main__':
    showmenu()