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

基于Python内置函数实现任意数量数值的最值与均值计算

完善温度统计程序(支持任意数量输入)

你需要将原本固定读取6个温度值的程序,修改为支持任意数量输入——用户每次输入一个温度值,按下空回车时终止输入,最终输出所有输入温度的最大值、最小值和平均值,要求使用内置函数或statistics模块实现。

你提供的测试代码存在几个问题:仅读取了单个输入、未处理空输入/非数字输入的情况、statistics.mean()需要传入可迭代对象(如列表)而非单个整数。以下是修正后的完整代码:

import statistics

def temp_statistics():
    temperatures = []
    while True:
        user_input = input("请输入温度值(直接回车结束输入):")
        # 空输入时终止循环
        if not user_input:
            break
        # 尝试转换为浮点数,处理非数字输入的情况
        try:
            temp = float(user_input)
            temperatures.append(temp)
        except ValueError:
            print("输入无效,请输入数字格式的温度值")
    
    # 检查是否有有效输入
    if not temperatures:
        print("未输入任何有效温度值")
        return
    
    # 计算并输出结果
    max_temp = max(temperatures)
    min_temp = min(temperatures)
    mean_temp = statistics.mean(temperatures)
    
    print(f"最高温度:{max_temp:.2f}")
    print(f"最低温度:{min_temp:.2f}")
    print(f"平均温度:{mean_temp:.2f}")

temp_statistics()

关键说明:

  • 使用while True循环持续接收输入,直到用户输入空字符串(直接回车)
  • 加入try-except块处理非数字输入,避免程序崩溃
  • 将所有有效温度存入列表temperatures,作为后续统计函数的输入
  • 调用内置函数max()、min()获取最值,使用statistics.mean()计算平均值
  • 处理无有效输入的边界情况,避免触发统计函数的报错
  • 用:.2f格式化输出,保留两位小数,结果更直观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:10:30