zoukankan      html  css  js  c++  java
  • Python实现注册和登录

    一、注册账号需要实现的功能

    1、输入:用户名,密码,密码确认

    2、限制1:输入的账号和密码不能为空

    3、限制2:两次输入密码必须一致

    4、限制3:用户名不能重复

    5、限制4:错误次数为4次

    6、用字典保存,格式如下;其中,只需要输入username和passwd,新注册用户role默认都为1

    {  '张三': {'passwd': '123', 'role': '1'}, '李四': {'passwd': 'abc', 'role': '2'}  }

     

    二、实现注册代码

    f = open("users.txt", 'r+')
    users = eval(f.read()) #f.read()读取的是字符串,用eval()将字符串转化为字典
    for i in range(4):
        name = input('请输入姓名: ')
        passwd = input('请输入密码: ')
        c_passwd = input('请再次确认密码: ')
        if len(name.strip()) != 0 and name not in users and len(passwd.strip()) != 0 and passwd == c_passwd:
            users[name]= {'passwd':passwd, 'role':1} #往字典中插入新数据
            f.seek(0)
            f.truncate()  #清空文件内容
            f.writelines(str(users)) #将字典写入文件
            print('恭喜,注册成功')
            f.close()
            break
        elif len(name.strip()) == 0:
            print('用户名不能为空,请重新输入。还可输入%d次' %(3-i))
        elif name in users:
            print('用户名重复,请重新输入。还可输入%d次' %(3-i))
        elif len(passwd.strip()) == 0:
            print('密码不能为空,请重新输入。还可输入%d次' %(3-i))
        elif c_passwd != passwd:
            print('两次输入的密码不一致,请重新输入。还可输入%d次' %(3-i))

    三、实现登录代码

    f = open("users.txt", 'r', encoding='utf8')
    users = eval(f.read())
    for count in range(3):
        name = input('请输入用户名: ')
        password = input('请输入密码: ')
        if name in users and password == users[name]['passwd']:
            print('登录成功!')
            break
        else:
            print('用户名或密码错误,还有%d次机会'%(2-count))
    f.close()
  • 相关阅读:
    java JDBC DAO ORM Domain
    《硅谷钢铁侠-- 埃隆·马斯克的冒险人生》
    在启动MYSQL时出现问题:“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)”
    使用IntelliJ IDEA开发java web
    [django]用日期来查询datetime类型字段
    2020/5/31
    图解排序算法(三)之堆排序
    图解排序算法(二)之希尔排序
    图解排序算法(一)之3种简单排序(选择,冒泡,直接插入)
    Oracle约束(Constraint)详解
  • 原文地址:https://www.cnblogs.com/jessicaxu/p/7567996.html
Copyright © 2011-2022 走看看