输入正确PIN后while循环无输出,如何修复Python代码问题?
PIN验证代码输出问题解决方法
问题根源
原代码逻辑存在漏洞:
- 首次输入正确PIN(1234)时,
while pin != 1234的条件不成立,循环直接跳过,内部的if判断和print语句完全不会执行,因此无任何输出。 - 只有首次输入错误进入循环后,再次输入正确才会触发输出,无法覆盖首次输入正确的场景。
修正方案
方案一:使用无限循环(推荐,逻辑更清晰)
while True: pin = int(input('Enter your PIN: ')) if pin == 1234: print('PIN accepted!') break else: print('Incorrect PIN.')
该结构持续请求输入,直到用户输入正确PIN:
- 输入正确时,立即输出提示并通过
break退出循环 - 输入错误时,给出错误提示并继续循环
方案二:调整原代码结构
pin = int(input('Enter your PIN: ')) while pin != 1234: pin = int(input('Incorrect PIN. Enter your PIN again: ')) print('PIN accepted!')
将print('PIN accepted!')移到循环外部:
- 首次输入正确时,循环不执行,直接执行外部的
print - 首次输入错误进入循环,直到输入正确后退出循环,再执行
print
注意事项
你遇到的问题和Visual Studio重启无关,完全是代码逻辑错误导致的,按照上述方案修改即可解决。
内容的提问来源于stack exchange,提问作者FennTheFern
相关产品推荐
相关产品推荐

