''' 点击答题开始作答 ERROR的下一句一定有错误,找到错误并修改,使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构!! 设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。 ''' #######ERROR###### count = 0 password = 'bkysoft.cn' while count: passwd = input('请输入密码:') #######ERROR###### if passwd == passwd: print('密码正确,进入程序......') break elif '*' in passwd: print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ') continue else: print('密码输入错误!您还有', count-1, '次机会!', end=' ') count -= 1
时间: 2023-11-30 21:03:40 浏览: 393
修改后的程序如下:
```python
count = 3
password = 'bkysoft.cn'
while count:
passwd = input('请输入密码:')
if passwd == password:
print('密码正确,进入程序......')
break
elif '*' in passwd:
print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
continue
else:
print('密码输入错误!您还有', count-1, '次机会!', end=' ')
count -= 1
```
错误在于程序中的 while 循环条件为 count,而 count 的初始值为 0,因此不会进入循环,也就无法进行密码验证。将 count 的初始值修改为 3 即可解决问题。另外,程序中的 `if passwd == passwd` 也是错误的,应该改为 `if passwd == password`。
阅读全文