标签:实践 pytho 一点 利用 pre bre python 拦路虎 黑板
之前也自学过Python,每次都死在循环上,一直理不清这里面的道道儿,借此机会,有人可以蘑菇,我就充分发挥了厚脸皮的功力来死磨这个‘拦路虎’啦~
下面是通过一个小例题来解释一下有关于Python循环的顺序问题(小白如我,表示已经在这里卡了一个世纪。。),来吧,例题如下:
用Python3写一个登录程序,输入用户名和密码,错误次数最多3次,用户名为空也算一下错误;
下面是我写的代码(还没经过审核,不保证100%正确 [不知所措脸]):
name = input(‘请输入用户名:‘)
passwd = input(‘请输入密码:‘)
count = 0 # 先规定错误次数
while True: # 灵活利用死循环来控制输入~~
if name == ‘zhlan‘ and passwd == ‘123456‘: # NO.1
print(‘欢迎%s登录‘%name)
break
elif count > 2: # NO.2
print(‘错误次数超过3次,该用户已被锁定‘)
break
elif name == ‘zhlan‘ and passwd != ‘123456‘: # NO.3
passwd = input(‘密码错误,请重新输入:‘)
count = count + 1
print(count)
continue
elif name != ‘zhlan‘ and name != ‘‘: # NO.4
name = input(‘用户名错误,请重新输入:‘)
count = count + 1
print(count)
continue
elif name == ‘‘: # NO.5 -- 判断用户名是否为空。。
name = input(‘用户名不存在,请重新输入:‘)
count = count + 1
print(count)
continue
注意:NO1、NO2、NO3、NO4、NO5 为平级关系,并且!有先后顺序啊同学们!从上到下!从1到5!【敲黑板!!】
刚开始我把count>2的判断放在了最后,运行了之后发现不起作用,为什么呢?因为密码错了,次数加1,走NO3,有路走;用户名错了,次数加1,走NO4,有路走;用户名不存在,次数加1,走NO5,有路走;按照从上到下判断的逻辑,如果我把count>2放在最后,永远都走不到这条路上来啊对不对?!,,,知道真相的我眼泪掉下来T_T
然后我就count的判断放在了前面,好使啦~开心~~
接下来,判断不平级的话,改怎么办呢?这个没有具体的例题,所以我只好来举一反三一下,有鉴于上,私认为应该是酱紫:先外后内,先上再下,以此类推。。
理论联系实践,等有了例题我再来补啊,,,T_T
标签:实践 pytho 一点 利用 pre bre python 拦路虎 黑板
原文地址:http://www.cnblogs.com/zhlan/p/6874640.html