需要一个文件users,里面有用户名密码以及是否锁定的标识符
lzd--123--1
wdl--123--0
lw--123--0
aaa--123--0
bbb--123--0
ccc--123--1
ddd--123--0
eee--123--0
fff--123--0
ggg--123--0
hhh--123--0
adc--123--0
asdf--123--1

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:lzd
# 导入模块codecs,用于获得当前文本的总共行数。
import codecs
count = len(codecs.open('users', 'r', 'utf-8').readlines())
# 创建字典tmpuser
tmpuser = dict() # 操作打开文件,权限为只读
f = open('users','r',encoding='utf-8')
j = 0
# 遍历文件,读取行
for line in f.readlines():
# 把当前读到的行,给字典赋值,split分割字符串生成一个数组。
tmpuser[j] = line.split("--",2)
j = j+1
# print(tmpuser[0][0])
f.close() username = input("请输入用户名:")
password = input("请输入密码:") k = 0
i = 0
while i < count:
if username != tmpuser[i][0]:
i=i+1
continue
elif tmpuser[i][2]=='1\n':
print("该用户已经被锁定!")
break
elif password!=tmpuser[i][1]:
print("错误的密码!")
password = input("请输入密码:")
if password!=tmpuser[i][1]:
print("错误的密码!")
password = input("请输入密码:")
if password!=tmpuser[i][1]:
print("错误的密码!你已经超过最大的次数了!现在锁定该账户!")
tmpuser[i][2]='1\n'
# k的作用标识,当前用户被锁定
k=1
break
else:
print("登录成功,欢迎!")
break if i==count:
print("没有这个用户哦~!再想想~~~")
elif k==1:
m=0
f = open('users','w',encoding='utf-8')
while m<count:
ccc=tmpuser[m][0]+'--'+tmpuser[m][1]+'--'+tmpuser[m][2]
f.writelines(ccc)
m=m+1
f.close()

python3第一次作业的更多相关文章

  1. C 语言学习 第一次作业总结

    第一次的作业是冯老师布置的练习题,需要在pta平台上完成.我这边看不到结果,但是透过冯老师给出的截图,同学们都还是认真的去做的.同时,我这边也布置了一个持续 3 周的作业:熟悉 git 的使用.因为后 ...

  2. 耿丹CS16-2班第一次作业汇总

    第一次作业统计完成. 注:1.作业顺序:取最早交作业的前3名,依次拿5,2,1分,前提是作业质量较高,否则轮至下一名同学得分,其余同学得0分:2.作业情况:满10分,空一题扣2分,心得写得好的有额外加 ...

  3. 软件工程(QLGY2015)第一次作业小结(含成绩)

    相关博文目录: 第一次作业点评 第二次作业点评 第三次作业点评 Github项目提交 github的代码提交,大部分人都只是提交了单个文件,存在几个问题 请提交完整的项目文件到github 问题:为什 ...

  4. 2015级软工实践k班第一次作业-准备

    第一次作业-准备······ 几篇文章阅读下来发现一个事实,还是要有明确的目标,清楚自己需要做什么最为重要.然后根据目标确定需要为之所做的准备工作,考研也好,工作也罢,都是服务于自己的目标. 问题答应 ...

  5. java第一次作业0

    lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ...

  6. 集大1513 & 1514班 软件工程第一次作业评分与点评

    谢谢大多数同学按时完成了作业,同学态度都比较端正,没有为了完成作业或者讨好老师而说一些假话空话. 很多同学选择CS之前并没有从兴趣或者擅长出发.这是一个普遍的现象,十年前我们是这样,十年后的孩子们还是 ...

  7. OO第一次作业总结

    OO第一次学习总结 1.第一次作业:多项式加法 从未接触过java的我,在从输入输出开始学了几天后,按照C语言的思路,写出了一个与面向过程极其接近的程序. 在这个程序中,存在两个类:一个是Comput ...

  8. # C语言程序设计第一次作业1234

    ---恢复内容开始--- C语言程序设计第一次作业 1.求圆面积和周长 输入圆的半径,计算圆的周长和面积 (1)流程图 (2)测试数据及运行结果 测试数据r=3 运行结果 2.判断闰年 输入一个四位年 ...

  9. 构建之法助教园地第一次作业--点评<西北师范大学|李晓婷>

    一 博客点评 第一次作业--准备篇:https://www.cnblogs.com/Mookiepiece/p/10464606.html#4192515 点评内容: 首先,你对电脑很感兴趣,兴趣就是 ...

随机推荐

  1. LeetCode OJ:Implement strStr()(实现子字符串查找)

    Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...

  2. bfs+状态压缩dp

    题目连接 题解 : 对两两管道进行bfs,然后用dp[i][j] 来表示在i状态下通过了前j个管道 参考博客 #include<bits/stdc++.h> using namespace ...

  3. Linux输入输出管理

      一.系统输入输出的理解 运行一个程序时,需要从某个位置读取输入信息,然后CPU处理,最后将输出 显示在屏幕或文件中:其中,某个位置相当于输入设备,屏幕或文件为输出设备. 标准输入:stdin,默认 ...

  4. win2008 服务器文件夹权限配置

    通过控制文件夹权限来提高站点的安全性. 这一篇权限设置包括二个方面,一个是系统目录.盘符的权限,一个是应用程序的上传文件夹权限设置. 系统目录 确保所有盘符都是NTFS格式,如果不是,可以用命令 co ...

  5. Linux:tr命令详解

    tr tr命令可以对来自标准输入的字符进行替换.压缩和删除 语法 tr(选项)(SET1 SET2) 选项 -c或——complerment:取代所有不属于第一字符集的字符: -d或——delete: ...

  6. 《gradle 用户指南中文版》第3章 安装 gradle

    macOS 下安装 gradle,只要可以安装sdk的系统,使用sdk来安装,那么安装方式基本是一样的. Gradle在所有主要操作系统上运行,只需要安装Java JDK或JRE版本7或更高版本.要检 ...

  7. Java并发编程之读写锁

    读写锁维护了一对相关的锁,一个用于只读操作,一个用于写入操作.只要没有writer,读取锁可以由多个reader线程同时保持.写入锁是独占的. 可重入读写锁 ReentrantReadWriteLoc ...

  8. Scala函数式编程——近半年的痛并快乐着

    从9月初啃完那本让人痛不欲生却又欲罢不能的<七周七并发模型>,我差不多销声匿迹了整整4个月.这几个月里,除了忙着讨食,便是继续啃另一本"锯著"--<Scala函数 ...

  9. linux下升级svn版本到1.8

    CentOS6.5默认yum安装的svn版本为1.6,有时候遇到比较高级的应用就可能不够使用,这时候就需要升级一下svn的版本,可以升级到的版本为1.8 ====== 完美的分割线 ====== 1. ...

  10. rabbitMQ高可用

    镜像模式 镜像模式和普通模式的区别就是,队列的数据都镜像了一份到所有的节点上.这样任何一个节点失效,不会影响整个集群的使用. 在实现上,mirror queue内部有一套选举算法,会选出一个maste ...