お世話になります。
下記、下記、コードがご覧ください。事情があり、classを分けなければらないケースです。
python
1 2 3 4class D(object): 5 def __init__(self, i): 6 self.i = i 7 8 def inc(self): 9 self.i += 1 10 return self.i 11 12 13class E(object): 14 15 def total(self): 16 pp = [1,2,3,4,5] 17 i = 0 18 t = 0 19 for row in pp: 20 #print(row) 21 a = 0 22 if a < 10: 23 inc = D(i) 24 t = inc.inc() 25 26 print(t) 27 28 29i = 0 30bb = E() 31bb.total() 32aa = D(i) 33aa.inc()
知りたい結果は、tが5になる事です。
しかし、結果は、1になってしました。
classのDで、self.i = iで初期化されてしまい、どうしてもインクリメントしてくれません。
この辺りの知識不足と思います。
どのようにしたら、初期化されず、iをインクリメントできるでしょうか?
ご指導の程、よろしくお願いします。
敬具
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/22 03:26 編集