homework week 1
第一周的作业
首先来完成第二个作业, 编写登录接口, 因为视频上并没有相关的教程, 就在网上搜了一下读写文件的语句, 粗略了解.
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的更多相关文章
- bzoj 4320: ShangHai2006 Homework
4320: ShangHai2006 Homework Time Limit: 10 Sec Memory Limit: 128 MB Description 1:在人物集合 S 中加入一个新的程序员 ...
- HDU 1789 Doing Homework again(贪心)
Doing Homework again 这只是一道简单的贪心,但想不到的话,真的好难,我就想不到,最后还是看的题解 [题目链接]Doing Homework again [题目类型]贪心 & ...
- hdu-1789-Doing Homework again
/* Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- HDU 1789 Doing Homework again (贪心)
Doing Homework again http://acm.hdu.edu.cn/showproblem.php?pid=1789 Problem Description Ignatius has ...
- Doing Homework 状态压缩DP
Doing Homework 题目抽象:给出n个task的name,deadline,need. 每个任务的罚时penalty=finish-deadline; task不可以同时做.问按怎样的 ...
- 机器学习 —— 概率图模型(Homework: Exact Inference)
在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...
- hdoj 1789 Doing Homework again
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- homework做了些什么?
第一步:get_new_guid_uid_pairs_{$ymd} 参数是时间和100上的文件. 那么100上的文件是从哪里来的呢? 我们进入到100机器上,打开root权限下的cron,看到如下内容 ...
- HDU 1074 Doing Homework (dp+状态压缩)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:学生要完成各科作业, 给出各科老师给出交作业的期限和学生完成该科所需时间, 如果逾期一 ...
- hdu1074 Doing Homework(状态压缩DP Y=Y)
Doing Homework Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
随机推荐
- cojs1101. [Vijos1369] 难解的问题==codevs 2188 最长上升子序列
[题目描述] 在你的帮助下,蔚蓝来到了埃及.在金字塔里,蔚蓝看到了一个问题,传说,能回答出这个问题的人就能受到埃及法老的祝福,可是蔚蓝日夜奋战,还是想不出来,你能帮帮他么?(XXX: 胡扯,教主怎么可 ...
- 又发现2个高人写的Delphi图文并茂的消息研究
http://ymg97526.blog.163.com/blog/static/173658160201139101120862/http://ymg97526.blog.163.com/blog/ ...
- vuejs 中如何优雅的获取 Input 值
http://www.sunzhongwei.com/how-to-get-input-value-in-vuejs
- java将JSON字符串转换为实体类对象,基于net.sf.json实现
@SuppressWarnings("unchecked") public static <T> T jsonToObject(String jsonString, C ...
- hibernate字段名和属性
字段名和属性名相同 Annotation:默认为@Basic 注意:如果在成员属性没有加入任何注解,则默认在前面加入了@Basic Xml中不用写column 字段名和属性名不同 Annotation ...
- Jquery 表单基础元素操作总结
最近做前端比较多总结一些常用功能: radio 单选选中并且出发change事件: $(selector).find('input:radio[name=valuationMode]').filter ...
- Zookeeper概念学习系列之zookeeper的节点
znode有两种类型: 临时节点(ephemeral node) 和 持久节点(persistent node). znode的类型在创建时确定并且之后不能再修改. 短暂znode的客户端会话结束 ...
- 关于MVC视图下拉菜单绑定与取值的问题
绑定视图中dropdownlist: 视图中的代码: @Html.DropDownList("select1") 此处的slect1也就是页面上的<select>< ...
- Eclipse中搭建Apache Tomcat7源码调试环境
第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址: http://tomcat.apache.org/download-70.cgi 注意选择Sourc ...
- JS高级——静态成员与实例成员
静态成员:构造函数的属性和方法 实例成员:实例化之后对象的属性和方法 // $("#id").css(); // $("#id").text(); // $.t ...