亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

每次我調用一個方法時,我都希望值減少 1

每次我調用一個方法時,我都希望值減少 1

慕尼黑5688855 2022-10-18 19:46:00
有沒有一種方法可以在每次調用該方法時將值減少 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 任何人都可以幫忙。
查看完整描述

3 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

您的所有變量都是該方法的本地變量。您需要將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)

5

4

>>> obj.update_count(1)

4

3


查看完整回答
反對 回復 2022-10-18
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

這是你想要的嗎?我認為一個循環會更好,但我不知道你想要實現什么。


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)

輸出:


5

4

4

5

3

3


查看完整回答
反對 回復 2022-10-18
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

是的,有很多方法可以實現這一目標!

最簡單的方法是self.max_count = updated_count在計算 updated_count 后添加。您還需要訪問max_count始終使用self.max_count


查看完整回答
反對 回復 2022-10-18
  • 3 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號