作业一要求:

1 输入用户名密码

2 认证成功后显示欢迎信息

3 输错三次后锁定

import os#生成保存用户信息的字典
d_userinfo = {}
#保存用户登录字典
input_login_username = {}
#保存锁定用户列表
lock_user = []#从userinfo中获取用户登录信息:用户名称、口令
userinfo_file = open("userinfo", "r")
#将用户信息添加到d_userinfo字典中
for line in userinfo_file.readlines():_userinfo = line.replace("\n","").split("|");#将用户添加到字典中d_userinfo.update({_userinfo[0]:_userinfo[1]})
#关闭文件
userinfo_file.close()#获取锁定用户
lockinfo = open("lockinfo", "r")
#将锁定用户添加到锁定列表中
for line in lockinfo.readlines():lock_user.append(line.replace("\n", ""))
lockinfo.close()#用户开始登录
input_count = 0
i_username = ""
while input_count < 3:input_count += 1i_username = input("Please enter your name:")i_passowrd = input("Please enter you password:")#判断用户输入是否为空if len(i_username) == 0 :print("用户名称不能为空,请输入用户名称!")continue#判断用户是否已锁定if i_username in lock_user:print("用户已锁定!")break#先判断用户字典表中是否有该用户if d_userinfo.get(i_username):#判断用户口令是否一致if i_passowrd==d_userinfo.get(i_username):print("Hello {name}!".format(name=i_username))breakelse :#说明用户输入的用户名称正确,但口令不对print("用户口令错误!")else :#说明用户输入的用户名称不正确print("用户名称或口令输入错误!")#将登录输入的用户名称保存到输入登录用户字典中
    input_login_username.setdefault(i_username, i_username)
else :if len(input_login_username) == 1 :# 锁定用户print("锁定用户")#"a"表示追加方式写fo = open("lockinfo", "a")fo.write(i_username+"\n")fo.close()else :#输入三次用户名称或口令都不正确,退出登录print("输入3次都不正确,再见!")

转载于:https://www.cnblogs.com/ccskun/p/6640782.html

python day 1 homework 1相关推荐

  1. 零基础学习Python 作业 第28章

    ============= CH28 homework ============ 0 下边只有一种方式不能打开文件, 请问是哪一种, 为什么? f = open('E:/test.txt', 'w') ...

  2. Python-10.1-面向对象

    Python-10.1-面向对象 Python的面向对象 一:面向对象概述(ObjectOriented, OO) 1.OOP思想 2.名词 二:类和对象的概念 三:类的基本实现 1.类的命名 2.声 ...

  3. python3-慕课网-七月课程

    第一章 Python入门导学 1.1 Python导学 python不是一门新兴语言,上世纪90年代就已经存在.随着人工智能和大数据的火热,Python随着成为主流编程语言 以Python为技术主导的 ...

  4. [python][LXF][homework]操作文件和目录

    reference website: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c0 ...

  5. python开源项目贡献_通过为开源项目做贡献,我如何找到理想的工作

    python开源项目贡献 by Utsab Saha 由Utsab Saha 通过为开源项目做贡献,我如何找到理想的工作 (How I found my dream job by contributi ...

  6. Python核心模块——urllib模块

    2019独角兽企业重金招聘Python工程师标准>>> urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法, ...

  7. Python面对对象编程——对象、类详解及实例

    Python中类与对象的初认识 1.Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的 ...

  8. 批阅论文和作业Python程序助手

    简 介: 利用网络学堂下载的作业文件中包含学号的信息,通过Python程序,可以自动定位EXCEL表中记录表格,使得成绩记录精确可靠. 关键词: EXCEL,成绩,作业 #mermaid-svg-Gn ...

  9. python多行注释以什么开头和结尾_Python 中多行注释可以 # 开头,而单行注释则以 ''' 开头和结尾。...

    Python 中多行注释可以 # 开头,而单行注释则以 ''' 开头和结尾. 更多相关问题 The teacher tells the students ____ in class. [ ]A. do ...

  10. python 对象_python面向对象

    OOP -面向对象 1.python的面向对象相关概念 2.类与对象 2.1 类和对象的创建 2.2 类属性与实例属性 2.3 类方法和实例方法 2.4 self 3.面向对象编程 封装 继承 构造i ...

最新文章

  1. vb与S7200PLC通信源代码下载
  2. 【AC Saber】二进制
  3. mysql 笔记05 select语句以及条件语句的使用
  4. oracle堆,oracle被一堆insert和update堵死解决方案
  5. artcam2008 stp 教程_ArtCAM_中文版使用教程
  6. Server.Variables属性大全(转载)
  7. 魔兽世界模型浏览器WowModelExplorer演示
  8. matlab出现边频带,边频信号的形成原因及分析
  9. android版会说话的汤姆猫游戏源码
  10. 内网渗透系列:隐匿攻击方法
  11. php时间函数不准确,php date函数时间不对如何解决
  12. 使用 GVM 工具管理 Go 版本
  13. RatingBar详解
  14. 图形学-二维图形的裁剪1.Cohen 2.Liang
  15. APP安全之SQL注入之什么是SQL注入(一)
  16. 行业深度:区块链与金融、保险业那些不得不说的故事
  17. WatchOS开发教程之一: Watch App架构及生命周期
  18. 网络设备应急响应指南
  19. 认识EC11旋转编码器编写驱动程序
  20. 金和oa:获取当前流程处于哪个节点函数

热门文章

  1. eclipse无法访问sun.misc.Unsafe类的解决办法
  2. 130242014062-黄凌逸-电商系统某功能模块“需求分析与设计实验课小结
  3. Linux下Apache、PHP、MySQL默认安装路径
  4. X明X源面试题《三》
  5. 升级Windows 2003域的唯一DC
  6. 书------编程书(FoxPro)
  7. Spring概述(精)
  8. matlab三维怎么转换二维,求助,二维图像如何绕轴旋转成为三维图像
  9. [JNI] 开发之旅 (2)解释jni helloworld实例
  10. 时间排序处理在微信小程序和真机调试没问题,发布体验版后未执行