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 ...
随机推荐
- URAL 1326. Bottle Taps(简单的状压dp)
题目不太好读懂,就是先给你一个n代表要从n个物品中买东西,然后告诉你这n个东西的单位价格,在给你m个集合的情况.就是每一个结合中有x件物品.他们合起来买的价格是k.这x件物品依次是:p1--px.之后 ...
- MBLAST - BLAST
There are given two strings, A and B. An expansion of some string X is a string created by adding or ...
- POJ 2610:Dog & Gopher
Dog & Gopher Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4142 Accepted: 1747 ...
- P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper 状压dp
这个状压dp其实很明显,n < 18写在前面了当然是状压.状态其实也很好想,但是有点问题,就是如何判断空间是否够大. 再单开一个g数组,存剩余空间就行了. 题干: 题目描述 A little k ...
- Flume Netcat Source
1.cd /usr/local2/flume/conf sudo vim netcat.conf # Name the components on this agent a1.sources = r1 ...
- 使用 Jenkins + GitHub + Nginx + HTTPS 搭建静态网站
参考https://www.imooc.com/article/20079 http://www.haoduoyu.cc/
- codevs3370 选学霸(背包dp,并查集)
3372 选学霸 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 老师想从N名学生中选M人当学霸,但有K对人实力相 ...
- Android Studio 常用快捷键(超实用!!!)
快捷键又称为“热键”,多个按键的组合可以实现某些快速操作,例如Window中最常用的Ctrl+C和Ctrl+V,熟练使用快捷键可以大大提高开发效率并可以减少某些错误的发生.Android Studio ...
- cobbler+kickstart安装笔记
cobbler+kickstart安装笔记 本文参考老男孩配置:https://blog.oldboyedu.com/autoinstall-cobbler/ centos7:开机如果不启动网卡,需要 ...
- NS2学习笔记(二)
Tcl语言 变量和变量赋值 set a "Hello World!" #将字符串赋值给变量a puts "NS2 say $a" #输出字符串的内容,其中$a表 ...