python循环与判断
学习一门新的语言最重要的就是练习。
一、脚本需求:
编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
二、脚本流程图:
写代码之前画个流程图总是好的,可以让你理清思路,避免写着写着代码出现懵逼的情况。
三、思路,遇到的坑。
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的强制循环的意义。
谢土豪
如果有帮到你的话,请赞赏我吧!