要求:
用户输入用户名密码不能错误超过三次;
range()函数用法:
range() 函数可创建一个整数列表,一般用在 for 循环中;
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1);
and 和 or 的用法:
and:表达式的值为真时,才为真,若其中一个为假则为假;
or:表达式的值其中一个为真时,这个表达式就为真;
代码如下:
# Administrator 2019/5/31 13:47
_user = "xuan"
_passwd = "xuan123"
for i in range(3):
user = input("请输入用户名:")
password = input("请输入密码:")
if user == _user and password == _passwd:
print("Welcome %s login..."% _user)
break
else:
print("用户名或密码错误!")
else:
print("已超过登陆限制!")
还有一种写法(不建议):
开始就定义为假,如果登陆成功则表达式为真,既break跳出循环;
如果没有登陆成功则打印最后一句;
#!/usr/bin/python
#_*_ coding: UTF-8 _*_
_user = "xuan"
_password = "123"
passwd_authentication = False
for i in range(3):
user = input("username:")
passwd = input("password:")
if user == _user and passwd == _password:
print("Welcome %s login..."% _user)
passwd_authentication = True
break
else:
print("用户名或密码错误!")
if not passwd_authentication:
print("已超过登陆次数!")
while循环:
#!/usr/bin/python
#_*_ coding: UTF-8 _*_
_user = "xuan"
_passwd = "abc123"
counter = 0
while counter < 3:
username = input("请输入用户名")
password = input("请输入密码")
if username == _user and password == _passwd:
print("Welcome %s login..."% _user)
break
else:
print("Invalid username or password !")
counter += 1
else:
print("已超过登陆次数!")
输出结果: