Python模拟账号创建以及登陆

先给出如下所示代码:

db={}

def newuser():
    prompt='login desired:'
    while True:
        name=input(prompt)
        if name in db:
            prompt='name taken,try another:'
            continue
        else:
            break
    pwd=input('password:')
    db[name]=pwd

def olduser():
    name=input('login:')
    pwd=input('password:')
    password=db.get(name)
    if password==pwd:
        print('###Password confirmed. Hi! '+name)
    else:
        print('###Wrong Prassword.')

def showmenu():
    prompt='''
    (N)ew User Login
    (E)xisting User Login
    (Q)uit
    Enter choice:'''

    done=False
    while not done:
        chosen=False
        while not chosen:
            try:
                choice=input(prompt).strip()[0].lower()
            except(EOFError,KeyboardInterrupt):
                choice='q'
            print('\nYou picked:[%s]' %choice)
            if choice not in'neq':
                print('###Invalid option,try again')
            else:
                chosen=True

        if choice=='q':done=True
        if choice=='n':newuser()
        if choice=='e':olduser()

if __name__=='__main__':
    showmenu()

只是一个小练习,不难理解。这回用的是if语句来控制函数的选择,而不是用之前的CMDs,键值对的那种。

最后print语句还是有点不习惯,中觉得python3怪怪的,,,,%choice要放在括号里,而不是外面。。。

posted @   TIM3347_Tian  阅读(36)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示