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

Python不使用列表获取用户输入数字,输入-1停止时求最大最小值的方法

不使用列表实现循环输入数字求最大最小值解决方案

原代码问题点

  • max、min变量初始化放在了循环内部,每次输入新数字都会覆盖之前的最大值、最小值记录,无法累计对比
  • 数值对比、计数的逻辑写在了while循环外部,循环运行时不会执行这部分代码,逻辑完全失效
  • 终止符-1被纳入了最大最小值的计算范围,不符合需求
  • 语法错误:break后多余冒号,变量count无实际作用
  • 使用内置函数名max、min作为变量名,会覆盖Python原生方法,属于不规范写法

修正后可运行代码

# 初始化最大、最小值为None,用于判断是否是第一次输入有效数字
max_num = None
min_num = None

while True:
    number = int(input("number:"))
    # 输入-1直接终止循环
    if number == -1:
        break
    # 第一次输入有效数字时给max、min赋值
    if max_num is None:
        max_num = number
        min_num = number
    else:
        # 后续输入对比更新
        if number > max_num:
            max_num = number
        if number < min_num:
            min_num = number

# 循环结束后输出结果,增加未输入有效数字的兼容判断
if max_num is not None:
    print(f"max:{max_num}")
    print(f"min:{min_num}")
else:
    print("未输入有效数字")

逻辑说明

  • 不需要额外的计数变量,直接用死循环+break处理终止逻辑即可
  • 终止符-1不会参与最大最小值的计算,符合需求
  • 额外兼容了用户直接输入-1、没有输入有效数字的场景,避免报错

内容的提问来源于stack exchange,提问作者user17097848

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:36:01