| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 lzymm1 于 2020-2-7 16:42 编辑  
 
0. 设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。 
所需程序演示: 
>>> 
请输入密码:***** 
密码中不能含有"*"号!您还有 3 次机会!请输入密码:I Love *** 
密码中不能含有"*"号!您还有 3 次机会!请输入密码:***IloveYou 
密码中不能含有"*"号!您还有 3 次机会!请输入密码:小甲鱼是帅哥 
密码输入错误!您还有 2 次机会!请输入密码:呃...鱼c好棒!! 
密码输入错误!您还有 1 次机会!请输入密码:Fishc.com 
密码正确,进入程序....... 
小甲鱼的答案: 
- count = 3
 
 - password = 'FishC.com'
 
  
- while count:
 
 -     passwd = input('请输入密码:')
 
 -     if passwd == password:
 
 -         print('密码正确,进入程序......')
 
 -         break
 
 -     elif '*' in passwd:
 
 -         print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
 
 -         continue
 
 -     else:
 
 -         print('密码输入错误!您还有', count-1, '次机会!', end=' ')    
 
 -     count -= 1
 
  复制代码 
我写的是这样: 
- Password = 'FishC.com'
 
 - temp = input("请输入密码:")
 
 - for i in range(3,0,-1):
 
 -     if "*" in temp:
 
 -         print('密码中不能含有"*"号!',end = '')
 
 -     elif temp != Password:
 
 -         print('密码输入错误!',end = '')
 
 -     else:
 
 -         print("密码正确,进入程序......")
 
 -     print('您还有'+str(i)+'次机会!',end = '' )
 
 -     temp = input('请输入密码:')
 
 
  复制代码 
 
我想用for循环实现,但是问题出在密码含有"*"号时他也会算一个循环,而且密码正确也会提示还有多少次机会,请输入密码这样的。请问如果是在保留for循环的条件下,该如何改进? |   
 
 
 
 |