最低でも、classlist.append(Class(var_1,count))
をforループの内側に移動する必要があります。コードを仮定
は、以下である:
import random
class Class(object):
"""Trivial demo class"""
def __init__(self, var, count):
"""Construct an instance"""
super(Class, self).__init__()
self.var = var
self.count = count
def __str__(self):
"""Produce a string representation"""
return "(var = {0}, count = {1})".format(self.var, self.count)
count = 0
classlist = []
for i in xrange(0,10):
if random.random() < 0.5:
var_1 = 1
else:
var_1 = 2
count += 5
classlist.append(Class(var_1,count))
print "\n".join([str(x) for x in classlist])
が生成されます
(var = 2, count = 5)
(var = 2, count = 10)
(var = 1, count = 15)
(var = 1, count = 20)
(var = 2, count = 25)
(var = 2, count = 30)
(var = 2, count = 35)
(var = 2, count = 40)
(var = 2, count = 45)
(var = 2, count = 50)
それは動作します。問題は、格納するフィールドがクラス(静的)フィールドである可能性があります。 クラス定義では、カウントを静的にしなかったことを確認してください。例については私のコードを参照してください。
コードを編集する必要があるか、またはリストに1回追加するだけです – macduff
インデントがオフです。ループの内側に追加する必要があります。インデント 'classlist.append'もう一つのレベル –