【发布时间】:2021-08-24 12:25:46
【问题描述】:
我无法详细说明,因为这是家庭作业,但我需要创建一个具有带计数器的方法的类。当我调用对象时,我需要计数器每增加 1 。但是,每当我使用下面的代码时,计数器只会增加到 1 并停止。
如何让计数器继续增加,如何让计数器保存它停止的数字,如果我再次调用该对象,让它继续增加?
String = 'ABCEDFGABCDEFG'
class MyClass():
def __init__(self):
self.counter = 0
def MyMethod(self, String):
for letter in String:
if letter == "A":
self.counter += 1
else:
pass
return self.counter
MyObject = MyClass()
MyObject.MyMethod()
所以在这种情况下,我会寻找 MyObject = 2(计数器编号),但如果我在稍后的代码中再次调用 MyObject,我希望 MyObject = 4
【问题讨论】:
-
你的代码有什么问题?
-
计数器的值停在 1,但我需要它停在 2,因为字符串中有两个 A。而且,我需要计数器变量来“记住”它的值,所以如果我再次调用该对象,我会得到 4 的值。不太确定该怎么做
-
好吧,您目前的代码无法运行,因为您错过了
def并且您没有创建任何实例。因此,如果您有一些其他代码在您期望结果 2 时为您提供结果 1,则需要将其编辑到您的问题中。 -
MyMethod方法是否应该在类中?如果是这样,那么缩进是错误的。无论如何,在修复之后(并将String添加到方法调用中),代码将返回 2 所以我看不到问题... -
MyMethod没有正确缩进为MyClass的方法;这只是一个常规功能。