zoukankan      html  css  js  c++  java
  • python程序—用户登录

    编写一个用户登录程序:

    1.登录成功显示登录页面

    2.登录失败,显示密码错误,并且显示错误几次

    3.登录失败三次,退出程序

    username= 'root'
    passwd= '123'
    count=0
    print('请登录 >>>>>>>>>')
    while True:
        user=input('登录名:')
        pwd=input('密码:')
        if user == username and pwd == passwd:
            print('登录成功!欢迎登录!')
            break
        else:
            count +=1
            print('密码错误!登录失败!',count)
            if count ==3:
                break

    升级:

    支持多用户登录

    userinfo={
        'root': {'username': 'root',
                  'passwd': '123'},
        'lee' : {'username': 'lee',
                  'passwd': '10086'},
        'zhang':{'username': 'zhang',
                  'passwd': '10010'}
            }
    
    count=0
    print('请登录 >>>>>>>>>')
    while True:
        user=input('登录名:').strip()
        pwd=input('密码:').strip()
        if user == userinfo[user]['username'] and pwd == userinfo[user]['passwd']:
            print('登录成功!欢迎登录!')
            break
        else:
            count +=1
            print('密码错误!登录失败!')
            if count ==3:
                break

    再次升级:

    1.支持创建用户,并将用户信息写入文件

    2.同一用户因密码错误而登录失败三次后,提示用户锁定

    import re  # 导入re模块,进行正则匹配
    
    userinfo1 = {}
    g = open('C:\Users\lenovo\Desktop\b.txt', 'r', encoding='utf-8')
    for i in g:
        user = re.compile('(.*?) (.*?) ').search(i).group(1)
        pwd = re.compile('(.*?) (.*?) ').search(i).group(2)
        count = re.compile('(.*?) (.*?) (.*)').search(i).group(3)
        userinfo1[user] = {'username': user,
                           'passwd': pwd,
                           'count': int(count)}
    g.close()
    
    while True:
        print('=======================================')
        print('  1.创建用户    2.登录用户    3.退出   ')
        print('=======================================')
        choose=input('请输入选项:')
    
        if choose == '1':
            userinfo = {}
            with open('C:\Users\lenovo\Desktop\b.txt', 'w', encoding='utf-8') as f:
                print('请创建 >>>>>>>>>')
                userinfo1 = {}
                for i in open('C:\Users\lenovo\Desktop\b.txt', 'r', encoding='utf-8'):
                    user = re.compile('(.*?) (.*?) ').search(i).group(1)
                    pwd = re.compile('(.*?) (.*?) ').search(i).group(2)
                    userinfo1[user] = {'username': user,
                                       'passwd': pwd,
                                       'count': 0}
                user = input('请输入用户名:').strip()
                if user in userinfo1.keys():
                    print('用户名已经存在!')
                else:
                    pwd = input('请输入密码:').strip()
                    userinfo[user] = {'username': user,
                                      'passwd': pwd,
                                      'count': 0}
    
                for i in userinfo.values():
                    j=0
                    for j in i.values():
                        f.write('%s ' % str(j))
                    f.write('
    ')
    
        elif choose == '2':
            print('请登录 >>>>>>>>>')
    
            with open('C:\Users\lenovo\Desktop\a.txt','r',encoding='utf-8') as f:
                user = input('登录名:').strip()
                if user not in userinfo1:
                    print('用户不存在!')
                    continue
                if user in f.read():
                    print(f.read())
                    print('用户已锁定!请联系管理员!')
                    continue
                if user == userinfo1[user]['username']:
                    pwd = input('密码:').strip()
                    if pwd == userinfo1[user]['passwd']:
                        print('登录成功!欢迎登录!')
                        continue
                    else:
                        userinfo1[user]['count']+=1
                        print('密码错误!登录失败!')
                        if userinfo1[user]['count']==3:
                            with open('C:\Users\lenovo\Desktop\a.txt','a',encoding='utf-8') as f:
                                f.write('%s 
    ' % user)
    
        elif choose == '3':
            break
    
        else:
            print('请输入正确选项!')
  • 相关阅读:
    暑假第五周报告
    读《大道至简》有感
    暑假第四周报告
    暑假第三周报告
    暑假第二周报告
    暑假第一周报告
    对15号夏壹队的TD信息通——teamfinal的使用体验
    Django易混淆问题
    MySQL常见问题
    Django框架的理解和使用的常见问题
  • 原文地址:https://www.cnblogs.com/leeeel/p/10758049.html
Copyright © 2011-2022 走看看