Python循环代码输入异常:连续输入数字仅打印隔次输入值
问题排查与修复方案
问题根源
你的代码里重复调用了input()函数:
- 当输入不是
'-'时,if条件判断时已经读取了一次输入(这个输入直接被丢弃,没有被使用),随后else块里又调用一次input()读取新的输入赋值给case。 - 这就导致每次输入数字时,第一次输入被
if的input()消耗掉,只有第二次输入会被赋值并打印,所以出现“仅能打印每第二个输入的数字”的现象。
修复后的代码
for i in range(30): user_input = input() if user_input == '-': case = 0 else: case = user_input print(case)
修复逻辑
先将用户输入一次性读取到变量user_input中,后续的条件判断和赋值都基于这个变量,避免重复读取输入。这样无论输入'-'还是数字,每一次输入都会被正确处理并输出。
内容的提问来源于stack exchange,提问作者김유석
相关产品推荐
相关产品推荐

