0

私はそのようなPythonクラスを持っています:

class Zoo:
  pandas = 0
  tunas = 0
  cows = 0

  #...other attributes and methods below

私の制御の及ばない神聖な力のため、クラスを変更することはできません(そうです、ここでは動物の辞書の方が優れていると思います)。クラスのインスタンスで動作するコードを書き、上記の 3 つのランダムな属性を 1 ずつインクリメントしたいと思います。

要するに、次のように書きたいと思います。

import random
z = Zoo()
attributes = [z.pandas, z.tunas, z.cows]
random.choice(attributes) += 1

もちろん、これはうまくいきません。これを行うにはどうすればよいでしょうか?

4

1 に答える 1

3
attributes = ['pandas', 'tunas', 'cows']
choice = random.choice(attributes)
setattr(z, choice, getattr(z, choice) + 1)
于 2013-10-16T04:05:11.257 に答える