Python实现单行输入3个数值并计算平均值的脚本问题求解
问题根因
你当前的代码无法完成平均值计算,核心卡点有两个:
input().split()拆分后赋值给x、y、z的变量全部是字符串类型,无法直接参与数值运算- 原有代码仅打印了输入值的拼接前缀,没有实现计算逻辑,也没有把计算结果接入输出链路
实现方案
- 类型转换:把字符串格式的输入转成可计算的数值,选
float类型可以同时兼容整数、小数输入场景,不需要为不同输入类型做分支判断 - 平均值计算:按照定义,三个数的平均值等于三个数的总和除以3
- 输入校验:题目要求恰好输入3个值,当前代码用三个变量解包split的结果时,如果输入数量不对会直接触发异常,可以加简单的捕获逻辑给出友好提示,避免程序直接崩溃
- 输出优化:用f-string简化原本的字符串拼接写法,减少冗余的
+连接操作
可直接运行的完整代码
try: x, y, z = input("avg3: ").split() # 计算三个数的平均值 avg = (float(x) + float(y) + float(z)) / 3 # 拼接输出内容 print(f"Average of {x}, {y} and {z} is {avg}") except ValueError: print("输入不符合要求:请在同一行输入恰好3个用空格隔开的数值")
常见踩坑提醒:如果跳过类型转换直接拿x、y、z做加法,Python会把它识别成字符串拼接,不是数值求和,直接计算的结果会和预期完全不符。
内容的提问来源于stack exchange,提问作者chuck47
相关产品推荐
相关产品推荐

