You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:20:19