学习一门新的语言最重要的就是练习。

一、脚本需求:

编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

二、脚本流程图:

写代码之前画个流程图总是好的,可以让你理清思路,避免写着写着代码出现懵逼的情况。

三、思路,遇到的坑。

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的强制循环的意义。

谢土豪

如果有帮到你的话,请赞赏我吧!

最新文章

  1. ray与triangle/quad求交二三事
  2. springmvc和http404错误
  3. JSP表单提交中文乱码解决方案
  4. buaaoj230——next_permutation的应用
  5. c和c++关于const的一些区别
  6. svn权限控制
  7. windows8.1 plsql连接oracle
  8. golang学习之指针、内存分配
  9. CodeForces 732C Sanatorium (if-else)
  10. inline-block的垂直居中
  11. Android面试,与Service交互方式
  12. 读取本地文件理解FileReader对象的方法和事件以及上传按钮的美化。
  13. tlplayer for ios V1.0
  14. Home | WebScraping.com
  15. 一句python代码搭建FTP服务
  16. python正则表达式相关记录
  17. centos7防火墙iptables开放常用端口
  18. python信息收集之子域名
  19. TlistView基本使用
  20. 继承and派生

热门文章

  1. 整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]
  2. Java基础知识强化34:String类之String类的转换功能
  3. Python序列的方法(转)
  4. Python字符串方法
  5. SQL数据库增删改查基本语句
  6. Asp.net简单实现forms验证
  7. datagrid的基本操作-增删改
  8. JS客户端读取Excel文件插件js-xls使用方法
  9. 随机获取oracle数据库中的任意一行数据(rownum)
  10. 生产环境 tomcat中启动缓慢