今天在做练习的时候,是利用for循环和if else做一个账户登录问题,最开始的代码运行没问题,后来想着平时登陆错误会提示您已错误多少次这样的东西。想着那就加一行输出,但是按照之前学的format却没法正常输出,程序不报错,却没找到问题在哪?
练习题如下:
for i in range(3):
username = input('请输入用户名')
password = input('请输入密码')
if username == 'admin' and password == '123456':
print('欢迎{}登陆成功'.format(username))
print('尽情享受购物吧!')
break
else:
print('用户名或密码错误')
else:
print('错误次数过多,账户被锁定,请重新激活!')
就是这样,输出没有问题,也达到预期,但是我将倒数第三行修改后就出问题了。如下:
for i in range(3):
username = input('请输入用户名')
password = input('请输入密码')
if username == 'admin' and password == '123456':
print('欢迎{}登陆成功'.format(username))
print('尽情享受购物吧!')
break
else:
print('用户名或密码错误,请重新登录。错误{}次',format(i+1))
else:
print('错误次数过多,账户被锁定,请重新激活!')
输出的结果如下:
D:\python\新建文件夹>python demo1.py
请输入用户名123123
请输入密码123123
用户名或密码错误,请重新登录。错误{}次 1
请输入用户名213123123
请输入密码123123123
用户名或密码错误,请重新登录。错误{}次 2
请输入用户名1231231
请输入密码1231231
用户名或密码错误,请重新登录。错误{}次 3
错误次数过多,账户被锁定,请重新激活!
就是这个 {}东西搞得,按理来说不应该输出这个。想不懂了,再继续想吧,想明白再来解决吧!!!