上次面试时问我是否在学python,我以前也接触过,但是到了字典那儿怎么也明白不了,然后不了了之,也从网上学过爬虫,还是记得一丁点东西的,嘻嘻
最近在跟着老男孩学习python,Alex讲师说过一句话,人总是高看自己。这点我是比较认同的,总是觉得自学就可以学的好了,其实不然,要不然要老师干什么?
我是自学的,没有钱也不可能报学习班,我也是简单了解一下,别到时候什么也不知道,不做小白,也不做大佬,慢慢学习,慢慢积累。
实现的功能是:
作业二:编写登陆接口
输入用户名密码
认证成功后显示欢迎信息
输错三次后锁定
其中用到的知识点就是循环和文件,以及sys.exit()的跳出,还有一些字符串的语句
import os,sys #导入模块
count = 0 #计数,大于三次锁定用户名
while count < 3:
username = input("username:") #输入用户名
file = open("suoding.txt",'r') #以读的方式打开锁定文档
lines = file.readlines() #以读取行的方式读取数据
for i in lines: #for循环,
ceshi = username+"\n" #因为他需要一个换行符一行一行的显示,那时候我什么也不知道,直接这样加了 用strip()语句即可
if ceshi == i:
print("用户%s已经锁定,请联系您的管理员" % username)
file.close() #关闭文件
sys.exit(1)
f1 = open("ceshi.txt","r")
user_list = f1.readlines()
for user in user_list:
(user,passwd) = user.strip('\n').split() #将用户和密码通过换行符截取出来
if username == user:
p = 0 #定义密码输入的次数,大于三次直接锁定用户名
while p < 3: #下面就是一个循环,如果正确就登录,如果错误,提示剩余的密码输入次数
password = input("password:")
if password == passwd:
print("欢迎%s登录系统" %username)
sys.exit(0)
else:
if p!=2:
print("对不起,%s的密码错误,请重新输入,你还有%d次机会" %(username,2-p))
p += 1
else:
f.write("%s \n" %username)
sys.exit("对不起,%s用户已经锁定,请联系管理员" %username)
else:
pass
else:
if count != 2:
print('对不起,%s 输入错误,请重新输入,你还有 %d 次机会' %(username,2 - count))
count += 1 #计数递增
else:
sys.exit("输入次数太多,程序自动退出,请重新运行")
f.close() #关闭文件
其中的一些难点就是截取字符的语句,sys模块的使用方式,逻辑思维方式
写程序时一定要写一个逻辑图,这样就相当于打了一个框架,只要往里面填东西就行了
就像html的div+css,打好框架,一步一步的写内容,写css,让它有血有肉,成为优秀的前端
作业三:多级菜单
三级菜单
可依次选择进入各子菜单
所需新知识点:列表、字典
这个作业,先得写一个三维数组,山东省->德州市->德城区,山东省->济南市->历城区,山东省->德州市->庆云县等等
menu_dt = {“山东省{德州市[德城区],济南市[历城区],青岛市[即墨县],烟台市[],滨州市[],枣庄市[]}”,“浙江省{}”,“重庆市{}”}
要注意,必须要英文状态下的分号和引号才不报错
然后一遍一遍的遍历
其中就是在每一个菜单栏下,输入q都可直接退出,输入其他命令返回上一菜单
我到现在还没有想法,根本不懂如何返回上一层
可以写个函数,一直调用
看看大佬的文章
http://www.cnblogs.com/brianzhu/articles/6282914.html
嗯,就这样吧