码迷,mamicode.com
首页 > 编程语言 > 详细

Python自动化3.0-------学习之路-------第一个程序用户登录!

时间:2017-07-20 17:23:43      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:git   info   div   不能   账号   技术   匹配   count   src   

一、用户登录程序

      知识点:1.input()

                    2.while 循环

                    3.fot 循环

                    4.文件操作

                    5.函数调用

 

二、程序代码: 

技术分享
#以只读文件打开下面两个文件
lock_file=open(file_lock.txt,r+)  #已锁定的账户文件
user_pass=open(username_file.txt,r+)  #正确的账户文件
count=0
#输出交互信息
be_info = input(‘‘‘
1:登录系统
2:退出系统
请输入您的操作:‘‘‘)
#如果玩家输入的是数字并且等于2,那么就退出程序
if be_info.isdigit() and int(be_info)==2:
    exit()
#如果玩家输入的是数字并且选择的是1,那么就登录系统
elif be_info.isdigit() and int(be_info)==1:
  while count <3:#重试不能超过三次,否则就退出循环
#    print(lock_file.readlines())   用于调试,readlines()输出后的结果为:[‘g1\n‘, ‘gqq\n‘, ‘g2\n‘]
    username=input(请输入您的用户名:)
    for i in lock_file.readlines(): #判断用户名是否在锁定的账户文件中
      i = i.split("\n") #用于分割字符串
#      print(i)
#      print (i[0])   #用于调试,i[0]表示账户锁定文件中的所有锁定账号
      if username in i[0]: #判断输入的账户名是否在锁定的账号文件中
        print(对不起 %s 已锁定%username)
        exit()

    match = False   #用于跳出循环的标记
    for j in user_pass.readlines():
        user, password = j.split() #读取可登陆账户文件中的账户和密码

        if username == user:  # 判断输入的用户是否存在,如果账号存在于账号文件中则输入密码
            passwd = input(请输入密码:)
            if password == passwd:#如果密码正确,则提示输入成功,并且退出本层循环
                print(用户名和密码正确)
                match = True
                break

            elif password != passwd:  # 在用户名正确的前提下,如果密码输入不正确的情况
                for i in range(2):  #再给2次输入密码的机会
                    passwd = input(密码错误,请重新输入密码:)
                    if password == passwd:
                        print(用户名和密码正确)#如果2次机会中有输入正确的密码,则提示正确
                        match = True
                        break  #退出程序
        if username != user:  # 判断用户不存在
            print(您输入用户名不存在,程序已退出)
            exit()
        elif match == False:  # 如果match还为False,代表上面的循环中没有走到match=True这一步,则提示超过三次输入,用户锁定
            print(密码和用户名不匹配,尝试超过三次,用户被锁定)
            lock_file.write(%s \n % username)     #将锁定的账户写入到账户锁定文件中
            lock_file.close()
            user_pass.close()
            exit()
        elif match == True:
            print("登录成功")
            exit()
else:
    print("无效选项,程序已退出")
View Code

 

Python自动化3.0-------学习之路-------第一个程序用户登录!

标签:git   info   div   不能   账号   技术   匹配   count   src   

原文地址:http://www.cnblogs.com/matang/p/7212000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!