|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼老师的009讲的课后习题中,要求编写一个密码识别程序,只有3次输入机会。但是输入密码中有*号,不扣除输入次数。
他的代码如下:
- 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
复制代码
我的疑问是,第13行中,else语句下的print里面,为什么最后是end = '', 其实际运行时,如果密码输入错误,提示是“密码中不能含有"*"号!您还有 2 次机会!请输入密码:”? 我记得以前提过,end = ''是用来换行的。。为什么会自行多出“请输入密码:”这样一句话?
我也改过,print里面如果是‘密码输入错误!您还有', count-1, '次机会!,请输入密码:’,其情况也是一样的~~~,迷糊了。。
end = ''时表示后面不要换行
end = ' '时表示要换行
记住哈
所以打印完“密码中不能含有"*"号!您还有 2 次机会!”
下一行还有一个continue
所以跳回到输入密码环节
由于他后面后一个end = ''
所以请输入密码就不会换行
|
|