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

 

谢土豪

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

posted @ 2016-07-26 20:33  kerwinC  阅读(4899)  评论(0编辑  收藏  举报