に期待される出力を与えていないことはここでは私のPythonの関数である:"<" 演算子は、Python
def fifo(pageframes, pagereferencestring):
pages = len(pagereferencestring)
queue = []
pagefaults = 0
for each in pagereferencestring:
if each not in queue:
pagefaults += 1
print len(queue)
print pageframes
if len(queue) < pageframes:
print "hello"
queue.append(each)
else:
queue = queue[1:]
queue.append[each]
print queue
print "FIFO mode : " + str(pagefaults)
私はpageframes = 3、およびpagereferencestring = [1,2,3,4,1,2,3を入力しています、= 16
4,1,2,3,4,1,2,3,4]、およびそのページはここで、出力は私が取得していますされています
0
3
hello
[1]
1
3
hello
[1, 2]
2
3
hello
[1, 2, 3]
3
3
hello
[1, 2, 3, 4]
FIFO mode : 4
をここに私の質問です:通りlen(queue)== pageframes(= 3)であっても出力から明らかで、コントロールがif条件に入る(len(キュー)<ページフレームの場合にのみ発生します)。なぜこうなった?
コード内のどこにでも '=='がありません –
私は "<"演算子を意味していました。申し訳ありませんが、質問を編集しました。 – kudesiaji
コードに構文エラーがあります。正しくコピー/貼り付けしていますか? – muratgu