'''用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化) ''' username = "yangxiaoer" password = "123456" i = 3 while i > 0: zh = input("请输入你的账号:") i -= 1 if zh == username: j = 3 # 当账号输入正确时,只需要重新输入密码且只能输三次 while j > 0: mm = input("请输入你的密码:") if mm == password: print("验证成功.正在登陆......") print('''恭喜你登陆成功! 欢迎用户进入 用户名 :%s 密码 :%s '''%(zh,mm)) break else: j -= 1 if j == 0: print("你的机会已经没了!game over 下次见!") answer = input('再试试?Y or N') if answer == 'Y': j = 3 print("密码错误,请重新输入") print("你还有"+str(j)+"次机会") if mm == password: # 如果账号 密码都输入正确 break所有循环 break else: print("请输入正确的用户名!") if i == 0: print("你的机会已经没了!") answer = input('再试试?Y or N') if answer == 'Y': i = 3 print("你还有" + str(i) + "次机会") else: print('你TM要不要脸')
当while循环没有跳出的情况下执行完毕,则执行else后的语句
2.当while循环时出现跳出的情况时,else后的语句不执行。
a = 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9> 8 or 7 < 6 # True print(a) b = not 2 > 1 and 3 < 4 or 4 >5 and 2 > 1 and 9 > 8 or 7 < 6 #Flase print (b) c = 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4 > 6 or 3 < 2 # Flase print (c)
print(8 or 3 and 4 or 2 and 0 or 9 and 7) # 8 print(0 or 2 and 3 and 4 or 6 and 0 or 3 )# 4 print(5 and 9 or 10 and 2 or 3 and 5 or 4 or 5)# 9 print(6 or 2 > 1) # 6 print(3 or 2 > 1) #3 print(0 or 5 < 4) #Flase print(5 <4 or 3) #3 ''' 逻辑运算之后得到 True or flase eg 1 : a = 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9> 8 or 7 < 6 a 为布尔值 and or not 的优先级为 not > and >or and (同真为真) or (有真为真 ) not 非 eg 2 : 8 or 3 and 4 or 2 and 0 or 9 and 7 X or Y if X == True : 得 X else : 得Y X and y if X == True : 得X else : 得Y PS : X,Y 若为逻辑运算 则返回 True 或者 Flase 若为int 则返回对应的int '''