学习一门新的语言最重要的就是练习。
一、脚本需求:
编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
二、脚本流程图:
写代码之前画个流程图总是好的,可以让你理清思路,避免写着写着代码出现懵逼的情况。
三、思路,遇到的坑。
1、由于虽然我知道有字典,或者是调用数据库的函数,但是我决定用最简单的方式来存放正确的用户名密码,放入一个文本文件中。
2、用户名与密码,是两个独立的字符串,对于效验来说有一定的难度。于是我在存放的时候把它俩加在了一起,变成了“用户名密码”。
3、获取输入的用户名密码后,同样把用户名与密码拼接为“用户名密码”,来与文件中记录的来进行逐行对比。
4、坑!记录的文件中有换行符\n,也就是说“用户名密码\n”,但是输入的却没有“用户名密码”,导致字符串效验总是失败。
5、通过strip("\n")来去掉换行符。
四、源代码
# Cheng
count = 0
while count < 3:
login = '''
Hellow welcome to login qqzone!
'''
login2 = '''
Try again
'''
if count == 0:
print(login)
else:
print(login2)
user = input("please input your name")
passwd = input("please input your password")
accept = str(user + passwd)
for line in open("C:\\Users\\CH\\Desktop\\file.txt"):
line = line.strip("\n")
if accept == line:
print("Welcome to login QQzone",user)
exit()
break
else:
continue
print("Your password or username is wrong")
count +=1
if count == 3:
print("fuck off")
打开的文件的内容
kerwin123456
duckabcdefg
roucewsb
五、python中循环的特点以及语法
for循环
例子
for line in open("C:\\Users\\CH\\Desktop\\file.txt"):
line = line.strip("\n")
if accept == line:
print("Welcome to login QQzone",user)
exit()
break
else:
continue
for 开头和其他语言的没什么区别,python中for,if,while循环的第一句结尾必须要有个冒号。
python通过强制缩进来控制层级关系,利用这个缩进,省略了比如shell中的fi,done,等。
if循环
if accept == line:
print("Welcome to login QQzone",user)
exit()
break
else:
continue
这里面写到了break,continue,和exit()。
break的意思是跳出循环,continue的意思是跳出循环的当前次,进入下一次,exit()的意思是,退出脚本,详细的就不多介绍。
while循环
例子请见文章开头的第一个登陆脚本。
脚本中开头定格就是一个while循环,以后的内容都通过tab缩进,并不顶格,代表其余的所有代码都是运行在这个while循环中。这也可以让你理解一下python的强制循环的意义。
谢土豪
如果有帮到你的话,请赞赏我吧!