Python中如何让while循环更新初始输入变量以实现连续数值比较
问题分析与修正
你的代码核心问题是没有在每次输入有效数字(非0)后更新基准变量x,反而在多余分支里错误地把h赋值为x,完全搞反了更新逻辑。另外代码存在冗余判断和格式细节问题,以下是修正后的完整代码:
print("Enter the first number: ", end="") g = input() x = int(g) finished = False while not finished: print("Enter the next number (0 to finish): ", end="") k = input() h = int(k) if h == 0: finished = True else: if h == x: print("Same") elif h > x: print("Up") elif h < x: print("Down") # 关键:每次输入有效数字后,将基准变量x更新为当前输入的h x = h
关键修改说明:
- 调整判断顺序,先处理
h == 0的结束逻辑,让代码结构更清晰 - 移除原代码中冗余的
h != 0判断(已通过分支排除h=0的情况) - 核心修复:在每次处理完有效数字的比较后,执行
x = h,将新输入的数字设为下一次比较的基准 - 统一提示文本格式,与你预期的运行效果匹配
运行这段代码即可实现需求:每次输入非0数字时,先与当前基准比较,再用新数字覆盖基准,供下一轮比较使用。
内容的提问来源于stack exchange,提问作者Rozendo
相关产品推荐
相关产品推荐

