每次我调用一个方法时,我都希望值减少 1

有没有一种方法可以在每次调用该方法时将值减少 1。


我试过的代码是


Class Testing:

    max_count = 5

    def update_count(self, reducebyone):

        actual_count = max_count

        updated_count = actual_count - reducebyone

        resetcount = updated_count

        print(actual_count)

        print(updated_count)

        print(resetcount)


obj = Testing()

obj.update_count(1)

obj.update_count(1)

我期望的结果是当第一次调用该方法时,我期望 O/P 为:5 4 4 第二次调用该方法时,我期望 O/P 为:4 3 3 任何人都可以帮忙。


慕尼黑5688855
浏览 146回答 3
3回答

翻翻过去那场雪

您的所有变量都是该方法的本地变量。您需要将count状态存储在类或实例中。您调用该方法的方式表明您在后者之后:class Testing:    def __init__(self):        self.count = 5    def update_count(self, reducebyone):        print(self.count)        self.count -= reducebyone        print(self.count)>>> obj = Testing()>>> obj.update_count(1)54>>> obj.update_count(1)43

眼眸繁星

这是你想要的吗?我认为一个循环会更好,但我不知道你想要实现什么。class Testing:    max_count = 5    cur_count = max_count    def update_count(self, reducebyone):        self.cur_count -= reducebyone        resetcount = self.cur_count        print(self.max_count)        print(self.cur_count)        print(resetcount)obj = Testing()obj.update_count(1)obj.update_count(1)输出:544533

尚方宝剑之说

是的,有很多方法可以实现这一目标!最简单的方法是self.max_count = updated_count在计算 updated_count 后添加。您还需要访问max_count始终使用self.max_count
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python