Python的初学者程序员



寻求帮助来解决这个问题,我认为问题在于第 7 行添加了两个值。不幸的是,我没有太多运气解决这个问题。任何帮助将不胜感激。

谢谢。

class Apple:
def __init__(self, number_of_seeds):
self.number_of_seeds = number_of_seeds
green_apple = Apple(number_of_seeds=10)
red_apple = Apple(number_of_seeds=20)
print(f'{green_apple + red_apple}')

你不能只是将两个Apple实例加在一起,因为它没有定义,但你可以把Apple.number_of_seeds加在一起,因为这只是整数加法。例如:

class Apple:
def __init__(self, number_of_seeds):
self.number_of_seeds = number_of_seeds
green_apple = Apple(number_of_seeds=10)
red_apple = Apple(number_of_seeds=20)
print (red_apple.number_of_seeds + green_apple.number_of_seeds)
# 30

或者,您可以定义打印方法(__str____repr__(和__add__方法,但这实现起来要高级一些:

class Apple:
def __init__(self, number_of_seeds):
self.number_of_seeds = number_of_seeds
def __add__(self, other_apple):
self.number_of_seeds += other_apple.number_of_seeds
return self.number_of_seeds
def __repr__(self):
return str(self.number_of_seeds)
green_apple = Apple(number_of_seeds=10)
red_apple = Apple(number_of_seeds=20)
print(f'{green_apple + red_apple}')
# 30

试试这个:

green_apple=Apple(10)
red_apple=Apple(20)

最新更新