Python 3编程求助:实现输入整数的最大最小值统计功能
Python程序:计算输入整数的最大值和最小值(处理异常输入)
没问题,我帮你完善这个Python程序,完全贴合你的需求,下面是详细的实现和说明:
需求回顾
- 循环提示用户输入整数,直到用户输入
done时终止循环 - 输入
done后,输出所有有效输入数字的最大值和最小值 - 若用户输入非有效数字(比如字母、符号),用
try/except捕获异常,输出Invalid input并忽略该输入 - 测试输入:7、2、bob、10、4,预期输出:
Invalid input
Maximum is 10
Minimum is 2
完善后的代码
largest = None smallest = None while True: num = input("Enter a number: ") if num == "done": break # 尝试将输入转换为整数,捕获非数字输入的异常 try: number = int(num) except ValueError: print("Invalid input") continue # 跳过当前输入的后续处理,回到循环开头 # 更新最大值:首次输入有效数字直接赋值,之后比较更新 if largest is None or number > largest: largest = number # 更新最小值:逻辑和最大值一致 if smallest is None or number < smallest: smallest = number # 输出最终结果 print(f"Maximum is {largest}") print(f"Minimum is {smallest}")
关键修改说明
- 异常处理:新增
try/except块,当输入无法转换为整数时触发ValueError,打印提示后用continue跳过当前循环的剩余步骤,确保无效输入不会影响后续逻辑 - 最值更新逻辑:
- 初始时
largest和smallest设为None,第一次输入有效数字时直接赋值 - 后续每次输入有效数字,都会和当前的最值比较,更新为更大/更小的值
- 初始时
- 输出格式优化:使用f-string让输出内容更清晰,完全匹配预期的输出表述
测试验证
按照测试输入依次输入:7、2、bob、10、4,最后输入done,程序会输出:
Invalid input Maximum is 10 Minimum is 2
完全符合预期结果。
内容的提问来源于stack exchange,提问作者Haider Ali
相关产品推荐
相关产品推荐

