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

Python类中实现多输入求平均值遇故障,寻求解决方法

嘿,我来帮你搞定这两个Python问题!

问题1:如何让Python接收用户的多个输入?

这里有几种实用的方法,根据你的需求选就行:

  • 一次性输入多个值(用空格/逗号分隔)
    适合知道固定输入数量的场景,比如要输入3个数字:

    # 用空格分隔输入,转成整数;如果要小数就用float
    num1, num2, num3 = map(int, input("输入三个数字,空格分开:").split())
    

    要是习惯用逗号分隔,就把split()改成split(',')就行。

  • 循环逐个输入
    如果不确定输入数量,或者想让用户逐个输入:

    numbers = []
    count = int(input("你要输入几个数字?"))
    for i in range(count):
        num = float(input(f"请输入第{i+1}个数字:"))
        numbers.append(num)
    
  • 批量读取大量输入(进阶)
    要是需要处理很多输入,用sys.stdin会更高效,不过新手用前面两种就够啦。

问题2:修复你的类实现平均值计算程序

先看你的代码,核心逻辑其实没问题,但大概率是调用类的方式不对,或者输入没转成数字导致报错。我给你调整并优化一下:

优化后的灵活版本(支持任意数量数字)

这个版本比固定三个数字的写法更实用,能处理用户输入的任意个数数字:

class AverageCalculator:
    def __init__(self, *numbers):  # 用*args接收任意数量的参数
        self.numbers = numbers
    
    def calculate_average(self):
        if not self.numbers:  # 避免空输入除以0的错误
            return 0.0
        return sum(self.numbers) / len(self.numbers)

# 接收用户输入并处理
user_input = input("输入多个数字,空格分隔:").split()
input_numbers = list(map(float, user_input))  # 把字符串转成浮点数

# 创建实例并计算平均值
calculator = AverageCalculator(*input_numbers)
average = calculator.calculate_average()

print(f"平均值是:{average}")

如果你坚持用固定三个数字的原逻辑

那你需要确保调用时传对参数,并且输入转成数字:

class my_class(object):
    def __init__(self, number1, number2, number3):
        self.number1 = number1
        self.number2 = number2
        self.number3 = number3
    
    def defAvrg(self):
        return (self.number1 + self.number2 + self.number3) / 3

# 正确调用方式
num1, num2, num3 = map(float, input("输入三个数字,空格分开:").split())
my_obj = my_class(num1, num2, num3)
result = my_obj.defAvrg()
print(f"三个数的平均值:{result}")

常见坑点提醒

  • 别忘记把输入的字符串转成数字!直接用input()得到的是字符串,字符串相加会拼接,不是数值相加,肯定出错。
  • 调用方法时要加括号!比如my_obj.defAvrg()才是调用方法,少了括号你拿到的是方法对象,不是计算结果。
  • 如果输入个数不对(比如固定三个数字但只输了两个),会触发解包错误,这时候用*args的灵活版本就没这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:43:19