第一周的作业

首先来完成第二个作业, 编写登录接口, 因为视频上并没有相关的教程, 就在网上搜了一下读写文件的语句, 粗略了解.

f1 = open("data.txt","r",encoding="utf-8") #PYTHON 3里只有OPEN来打开文件, 后面的状态是READ还是WRITE,有时需要添加解码格式

read:读取文件全部内容

readline:读取一行

readlines:读取每一行,并且放到一个list里

 

本作业的完成思路是在同文件夹下建立三个TXT文件本,分别命名data, data_lock, data_lock用来存放用户名跟密码.

打开文本读取指定的用户名跟密码后, 判断输入的用户名是否一致

用户名输入正确后 判断密码是否正确, 按要求加入输错三次后锁定当前用户

输错三次密码后 将当前用户的ID写入data_lock里, 在代码前面加入判定如果存在data_lock里的ID就锁定用户

*为了测试方便, 最后加了代码在锁定用户后 输入YES可以清空data_lock里存的用户名

最终代码如下:

------------------------------------------------

f1 = open("data.txt","r",encoding="utf-8")
data_user = f1.readline() f2 = open("data_psd.txt","r",encoding="utf-8")
data_psd = f2.readline()
#data_psd = "abc" f3 = open("data_lock.txt","r",encoding="utf-8")
data_lockid = f3.readline() count = 0
logid = input("User name:")
if logid == data_lockid :
print("you are locked!")
count = 4 while logid != data_user :
print("Invalid user, Try again")
logid = input("User name:") while count < 3 :
logpsd = input("Password:")
if logpsd == data_psd :
print("Welcome user {name} login!".format(name=logid))
break
if logpsd != data_psd :
count = count+1
print("wrong password, pls try again...")
if count == 3 :
fw = open("data_lock.txt","w")
fw.write(logid)
print("you try 3 times wrong password, you are locked!")
count = 4 if count == 4 :
newid = input("type 'yes' to clear all?")
if newid == "yes" :
fw = open("data_lock.txt", "w")
fw.write("nothing")
------------------------------------------------

修改几次后 代码运行正常 功能都达到了, 编写过程有个插曲,密码那个判断一直出错,无论输入什么都是报密码不正确, 为此特意print(logpsd)来比对 看着完全一样却还是提示密码错, 最后才发现是TXT文件里密码后面加了个回车, 删除后解决. 因为不知道如何把用户名密码都放在同一个文件本里分别读取, 才用了3个TXT分别存放的笨方法, 希望后面能学到提高效率的方法

作业三....

暂时完全没有思路 其实题目都没懂 在代码运行界面怎么使用三级菜单?

homework week 1的更多相关文章

  1. bzoj 4320: ShangHai2006 Homework

    4320: ShangHai2006 Homework Time Limit: 10 Sec Memory Limit: 128 MB Description 1:在人物集合 S 中加入一个新的程序员 ...

  2. HDU 1789 Doing Homework again(贪心)

    Doing Homework again 这只是一道简单的贪心,但想不到的话,真的好难,我就想不到,最后还是看的题解 [题目链接]Doing Homework again [题目类型]贪心 & ...

  3. hdu-1789-Doing Homework again

    /* Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...

  4. HDU 1789 Doing Homework again (贪心)

    Doing Homework again http://acm.hdu.edu.cn/showproblem.php?pid=1789 Problem Description Ignatius has ...

  5. Doing Homework 状态压缩DP

    Doing Homework 题目抽象:给出n个task的name,deadline,need.  每个任务的罚时penalty=finish-deadline;   task不可以同时做.问按怎样的 ...

  6. 机器学习 —— 概率图模型(Homework: Exact Inference)

    在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...

  7. hdoj 1789 Doing Homework again

    Doing Homework again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  8. homework做了些什么?

    第一步:get_new_guid_uid_pairs_{$ymd} 参数是时间和100上的文件. 那么100上的文件是从哪里来的呢? 我们进入到100机器上,打开root权限下的cron,看到如下内容 ...

  9. HDU 1074 Doing Homework (dp+状态压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:学生要完成各科作业, 给出各科老师给出交作业的期限和学生完成该科所需时间, 如果逾期一 ...

  10. hdu1074 Doing Homework(状态压缩DP Y=Y)

    Doing Homework Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

随机推荐

  1. Android Studio最新配置教程2016

    http://blog.csdn.net/wen_demo 一.Android studio 基本简单介绍 1.Android studio和Eclipse的差别: 1.Studio中有Project ...

  2. 删除svn

    去掉文件下所有的.svn - CSDN博客  https://blog.csdn.net/arui_email/article/details/9055645 FOR /r  D:\testsvn\p ...

  3. 20170621_oracle练习

    ========================= 启动Oracle ========================= --->启动OracleOraDb11g_home1TNSListene ...

  4. ubuntu下使用crontab定时器

    crontab 定时工具(周期性执行的任务列表称为Cron Table),其中每一个任务,被称为Cron Job. 可以,每分钟执行,每小时执行,每天执行,每周执行,每月执行. 检查服务 1.查看任务 ...

  5. windows 下 opencv 3.x 的安装及常见问题的解决

    1. 下载与配置 下载地址:Releases - OpenCV library(选择合适的平台和版本) 配置步骤见:VS 2013 统一修改所有工程的目录配置(以 boost.opencv3 的安装为 ...

  6. loj 102 最小费用流

    补一发费用流的代码 %%%棒神 #include<iostream> #include<cstdio> #include<cstring> #include< ...

  7. 56. EditorGridPanel和渲染器renderer的使用

    转自:https://blog.csdn.net/chenkangwan/article/details/4748716?utm_source=blogxgwz6 1. 在EditorGriddPan ...

  8. Filter,Interceptor和Aspect

    过滤器使用的主要是反射 :拦截器使用的主要是回调 :AOP使用的主要是动态代理. 一个请求过来 ,先进行过滤器处理,看程序是否受理该请求.过滤器放过后, 程序中的拦截器进行处理,处理完后进入被AOP动 ...

  9. poj1200Crazy Search(hash)

    题目大意   将一个字符串分成长度为N的字串.且不同的字符不会超过NC个.问总共有多少个不同的子串. /* 字符串hash O(n)枚举起点 然后O(1)查询子串hash值 然后O(n)找不一样的个数 ...

  10. Vue初识:一个前端萌新的总结

    一.前言 时隔三年,记得第一次写博客还是2015年了,经过这几年的洗礼,我也从一个后端的小萌新变成现在略懂一点点知识的文青.如今对于前端的东东也算有一知半解,个人能力总的来说,也能够独立开发产品级项目 ...