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 ...
随机推荐
- js实现存取Map结构的数据
//控制关联表单元素是否显示 var relateItemMap = {}; for(var i=0; i<formAttributeItemList.length; i++){ var ite ...
- 通过scp批量推送文件到远程目录
[root@openfire1 script]# cat test.sh #!/bin/bash #通过scp推送文件到远程目录 for ip in `cat iplist` do ...
- Setup Script in SoapUI - 停止项目运行 (abort project)
TestSuite需要依赖一个先决条件(比如Login) 当Login失败则立即停止Project运行 在Project的Setup Script的代码如下 import com.eviware.so ...
- CodePlus 2017 12 月赛
这场比赛跟个zz一样 div1卡在了同余方程上 心态崩了去做div2 然后被T1搞崩了 T1: 大模拟 比较像配平方程式 思路: 但是未知物质每种元素系数不能≥10 且不能为空 (如CO2+?=CO2 ...
- php获得两个字符串公共最大子串的函数
<?php header("Content-type: text/html; charset=utf-8"); function search($str1,$str2) { ...
- 题解报告:hdu 1564 Play a game(找规律博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1564 Problem Description New Year is Coming! ailyanlu ...
- android 蓝牙 通信 bluetooth
此例子基于 android demo Android的蓝牙开发,虽然不多用,但有时还是会用到, Android对于蓝牙开发从2.0版本的sdk才开始支持,而且模拟器不支持,测试需要两部手机: ...
- js 计算时间差
function GetDateDiff(startDate,endDate) { var startTime = new (<any>Date)(Date.parse(startDate ...
- Unity学习-鼠标的常用操作(八)
本次主要介绍5个鼠标事件 void OnMouseEnter():鼠标进入 void OnMouseExit():鼠标移出 void OnMouseDown():鼠标点击 void OnMouseUp ...
- FullCalendar日程设置
顺序很重要!!!不然会报错,后面的文件会引用前面的一些东西. shili1: http://blog.csdn.net/lizai22/article/details/53522523 shili ...