|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
0.设计一个验证用户密码的程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含 “*” 则不计算在内。
下面是小甲鱼发布的答案。
- 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
复制代码
我把这个程序做了一些展开,如下:
- count = 3
- password = '小甲鱼是帅哥'
- while count:
- mima = input('请输入密码:')
- #此步骤需要放在while循环内,放在while count前一步,
- #否则在输入错一次密码后,不会提示继续输入密码,
- #直接跳'密码错误,你还有几次机会。不会出现继续显示'输入密码问题'
- if mima == password:
- print('密码正确,进入程序...')
- break #break的作用就是当密码输入正确跳出这个while循环,
- #如果没有break,会无限打印'密码正确,进入程序'
- else:
- if '*' in mima:
- print(‘密码中不能含有"*"号!您还有',count-1, '次机会,',end = '')
- continue
- #continue 此处有continue的时候,在输入密码中包含*时次数不会减1.
-
- else:
- print('密码错误,您还有',count-1, '次机会,',end = '')
- #此处end=''的作用,让开头的请输入密码,打印在一行中。
- #否则,这行打印完。mima=input('请输入密码')这个在另一行中打印。
-
- count = count - 1
复制代码
根据小甲鱼的程序,下面的 if和else应该是一组吧? 但是在我的程序里这个else相当于是第二个else中的分支了。我有点弄不懂。
- if mima == password:
- print('密码正确,进入程序...')
复制代码- else:
- print('密码错误,您还有',count-1, '次机会,',end = '')
复制代码
然后,程序里的Continue
为什么不执行?既然第一个if判断为假,就进入了第一个else,
你的第二个else只是第一个else下的一部分,执不执行要看你第二个if是不是判断为真
|
|