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

Python求三个数平均值异常:为何得到41.0及解决方法

问题分析与解决

嘿,我来帮你揪出问题根源,顺便给你搞定解决方案~

为什么会得到41.0?

你输入的三个数字(比如假设是1、2、3),通过input().split()得到的是字符串类型的变量,比如Number_One是"1",Number_Two是"2",Number_Three是"3"。

而Python里字符串的+号是拼接操作,不是数值相加。所以Number_One + Number_Two + Number_Three会变成字符串"123",转成整数后是123,除以3自然就得到41.0啦!

怎么解决?

核心思路是:先把输入的字符串转换成数值类型(整数int或浮点数float),再进行加法运算。这里给你两种写法:

写法1:逐个转换变量

Number_One, Number_Two, Number_Three = input("Enter Three Numbers").split()
# 将每个字符串转成整数(如果需要支持小数,把int换成float)
num1 = int(Number_One)
num2 = int(Number_Two)
num3 = int(Number_Three)
Average_Number = (num1 + num2 + num3) / 3
print(f"The average of all the numbers is {Average_Number}")

写法2:更简洁的批量转换

用map函数批量转换输入的字符串,再求和计算平均值,适合扩展到更多数字的情况:

# 把输入的字符串转成整数列表(支持小数就换float)
nums = list(map(int, input("Enter Three Numbers").split()))
Average_Number = sum(nums) / len(nums)
print(f"The average of all the numbers is {Average_Number}")

这样修改后,输入1、2、3的话,就会得到正确的平均值2.0啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 10:22:28