设为首页 加入收藏

TOP

python 初学之账户登录
2017-12-24 06:07:04 】 浏览:207
Tags:python 初学 账户 登录

要求:

输入用户名密码正确,提示登录成功,

输入三次密码错误,锁定账户。

开始:

使用两个文件:

密码账户文件

文件格式:

jason    23456

tom       56789

tang      345687

boke      567890

密码锁定文件格式:

tom

jason

流程图

代码

使用了

字典:dict()-----将用户文件中的账户密码生成字典,可以对应用户名与密码

        生成如此格式:{username1:password1,username2:password2}

循环

      使用循环计数账户及密码三次机会,账户三次后提示不存在退出程序,密码三次不正确提示对应账户被锁定

判断

     判断账户是否存在及被锁定,密码是否正确

 

#!/usr/local/python/bin/python
#-*- coding:utf-8 -*-
#Author:辰星心语
import os

f = open("user.txt","r")
f2 = open("lockuer.txt","r")
lock_user = f2.readlines()
m = f.readlines()
z = []
#将用户名密码输入为列表
for i in m:
    y = i.split()
    q = z.append(y)
print(z)
#将用户文件中的账户密码对应成字典方式
dict1 = dict(z)
#为了方便理解输出生成后的字典
print(dict1)
for count in range(4):
    user = input("请输入您的账户:")
#判断锁定文件中是否存在输入的用户名密码,若有退出程序
    for i in lock_user:
        user_lock = i.strip('\n')
        if user == user_lock:
            print("您的账户已经被锁定!!!")
            exit()
#如果锁定文件没有输入的用户名则判断用户是否存在于账户密码所在的字典中
    if user in dict1:
        print("您的账户输入正确!!")
#账户存在字典之中,执行以程序,三次输入正确密码的机会
        for count_p in range(4):
            password = input("请输入您的密码:")
#输入密码后判断输入的密码是否与账户匹配,如果匹配则输出欢迎信息并退出程序
            if password == dict1[user]:
                print("您的密码正确!!!\n欢迎进入系统!!!!")
                exit()
            else:
#输入密码错误则提示密码错误及可输入密码的次数
                print("您输入的密码错误!!!\n请您重新输入密码!!!\n你还有 %s 次机会"%(3-count_p))
#密码输入总共三次,次数使用完后提示密码输入次数太多,冰将账户锁定,写书锁定账户文件中
            if count_p == 3:
                print("您输入错误的密码次数太多!!!\n您的账号已经被锁定,请联系管理员")
                f2 = open("lock.txt","a")
                f2.write(user+"\n")
                exit()
#判断账户不存在于账户文件中,则有输入超过三次提示账户不正确,并机会用完,退出程序
    if count == 3:
        print("您输入不正确的账号次数太多\n退出程序")
        break
    else:
        print("账户不存在,请重新输入\n您还有%s次机会"%(3-count))
f.close()
f2.close()

  以上是临时写的,若是有问题或其他建议,也希望大家可以指出来

谢谢


编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇监督学习笔记 下一篇数据分析R&Python-Rpy2包环境配置

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目