私は2台のプリンタがあり、それぞれの平均待ち時間を見つけるシミュレーションを作成しようとしています。自分のプログラムでプリンタとタスクのクラスを使用しています。基本的には、各シミュレーションの待ち時間をリストに追加し、平均時間を計算しています。私の問題は、何も付加されていないので、私は0エラーで除算を得ているということです。 1台のプリンター(これは本質的に同じものです)で試しても問題はありません。ここでは2番目のプリンタのコードを示します。私はこのためにキューを使用しています。スタッフが私のリストに追加されていません
if printers == 2:
for currentSecond in range(numSeconds):
if newPrintTask():
task = Task(currentSecond,minSize,maxSize)
printQueue.enqueue(task)
if (not labPrinter1.busy()) and (not labPrinter2.busy()) and \
(not printQueue.is_empty()):
nexttask = printQueue.dequeue()
waitingtimes.append(nexttask.waitTime(currentSecond))
labPrinter1.startNext(nexttask)
elif (not labPrinter1.busy()) and (labPrinter2.busy()) and \
(not printQueue.is_empty()):
nexttask = printQueue.dequeue()
waitingtimes.append(nexttask.waitTime(currentSecond))
labPrinter1.startNext(nexttask)
elif (not labPrinter2.busy()) and (labPrinter1.busy()) and \
(not printQueue.is_empty()):
nexttask = printQueue.dequeue()
waitingtimes.append(nexttask.waitTime(currentSecond))
labPrinter2.startNext(nexttask)
labPrinter1.tick()
labPrinter2.tick()
averageWait = sum(waitingtimes)/len(waitingtimes)
outfile.write("Average Wait %6.2f secs %3d tasks remaining." \
%(averageWait,printQueue.size()))
編集:これは値に関係なく発生することを言及する必要があります。私は99-100のページ範囲と1のPPMを持つことができましたが、私はまだ0で割ります。
_I'm 0_による除算を取得。これは 'float'の代わりに' int'を使うことが多いためです。それはあなたがチェックしたものですか?また、Python 2または3を使用していますか? – patrick
@patrick私はすべてを私のmainメソッドで整数に設定しました。私は3を使用しています – John
変数 'waitingtimes'とは何ですか?リスト、キュー、作成したクラスですか? –