私は閉じたシステムで魚をシミュレートするプログラムに取り組んでいます。 私は各魚の複数のインスタンスを作成して、それぞれが個々にポケモンのようなものを追跡できるようにしたいと考えています。forループはフィード値を受け付けません
私は私のinit値については、このセクション作った:
TilapiaFeedStatus = TilapiaFeedStatus + TilapiaFeedAmount
TilapiaWeight = TilapiaWeight + (TilapiaFCR*TilapiaFeedAmount)
Waste = Waste + WasteAmt
TilapiaFeedStatus=TilapiaFeedStatus - TilapiaFeedAmount
Waste = Waste - PlantUptakeSum
PlantsUpdate = [x+0.0001 for x in PlantUptakeList]
PlantUptakeList = PlantsUpdate
PlantUptakeSum = sum(PlantUptakeList)
PrintTilapia = "Weight",TilapiaWeight,"Waste",Waste,"Day:",time,"Plant uptake",PlantUptakeList
PrintTilapiaList = [TilapiaFeedStatus, TilapiaFeedAmount, TilapiaWeight, Waste, time]
time = time + 1
私は何をすることができます:TilapiaWeight < 0.5および廃棄物> = 0ながら、私の更新部
TilapiaWeight = 0.05
TilapiaFCR = 0.1
TilapiaFeedStatus = 10
TilapiaFeedAmount = 0.9*TilapiaWeight
WasteAmt = (1-TilapiaFCR)*TilapiaFeedAmount
Waste = 10
days = ["Mon"],["Tue"],["Wed"],["Thu"],["Fri"],["Sat"],["Sun"]
time = 0
PlantUptakeList = [0.002,0.003] #the uptake rate of each plant
Plants = []#Testing list appending["Green Lettuce","Red Lettuce"]
PlantUptakeSum = 0
PlantsPerM2 = 30
PTX=[]
と
を私がTilapia 1とTilapia 2のためにどのようにこれを動かすことができるのか理解できません。 ...繰り返さx回を私もそれを反復処理としてすべての値をログに記録する第2ブロックの終わりに
TilapiaLog.append(set((PrintTilapiaList)))
を使用しようとしていたが、それはちょうど、同じセットの長い長いリストを作成
私は、その後に提案以下に従って更新:そして、あなたは多くの魚インスタンスを作成
class Fish:
def __init__(self, type, number, weight, status, feed, fcr, wastestatus):
self.type = type
self.number = number
self.weight = weight
self.status = status
self.feed = feed
self.fcr = fcr
self.wastestatus = wastestatus
def update(self, type, number, weight, status, feed, fcr, wastestatus):
status = status + feed
weight = weight + (fcr * feed)
wastestatus = wastestatus + (1-fcr)
PrintTilapia = type, number, weight, status, feed, fcr, wastestatus
print(type, number, weight, status, feed, fcr, wastestatus)
return type, number, weight, status, feed, fcr, wastestatus
#...do something to this fish
:
tilapia1 = 'Tilapia',1,0.005,1,1,0.15,0
tilapia2 = 'Tilapia',2,0.01,1,1,0.15,0
01私は場合
Fish.update(tilapia1)
TypeError: update() missing 7 required positional arguments: 'type', 'number', 'weight', 'status', 'feed', 'fcr', and 'wastestatus'
どのようにこれをすることができます:コレクションその後、
fishes = (tilapia1, tilapia2)
print(tilapia1) #('Tilapia', 1, 0.005, 1, 1, 0.15, 0)
あなたが生きてそれらを作る中
あなたのグループ彼らは、あなたがこれを返す
time_span = 10
for t in range(time_span):
for f in fishes:
print(f) #('Tilapia', 1, 0.005, 1, 1, 0.15, 0)
Fish.update(f)
これはクラスにとって理想的な仕事のようです。 –