【发布时间】:2016-03-13 00:51:14
【问题描述】:
可以使用函数以更简单的方法完成,但由于我正在练习 OOP,所以我想尝试使用类对这个问题进行编码。
class Numbers:
def __init__(self):
self.__sum=0
def addNumber(self, number):
self.__sum += number
def currentSum(self):
return self.__sum
numbers = Numbers()
a = ['3 2', '1 2']
for n in a:
for i in n.split():
numbers.addNumber(int(i))
print(numbers.currentSum())
但是,产生的输出是这样的:
3
5
6
8
而不是
5
3
【问题讨论】:
-
如果您想实践 OO,您可能希望使用更合适的 OO 语言,例如 Java 或 C++。
-
为什么要打印
5 3?每次添加数字时都会打印总和...也许您的意思是取消缩进打印行? -
@cricket_007 我想打印列表“a”
3+2 = 5和1+2=3中每个元素显示的值的总和,而不是一起迭代所有元素中的所有整数。 -
我明白了。答案解决了这个问题。
标签: python class oop methods sum