-1

固定サイズ 10 のリストがあり、2 秒間隔でコンピューターの CPU パーセントを表示します。私がやろうとしているのは、リストの最後のインデックスで11番目の値を記録するリストの前のインデックスに各要素をシフトする最初の要素を削除することです

以下に私のコードが表示されます。デバッグを行いましたが、今は混乱しています。どうすればこれを修正できますか?

__author__ = 'tim'
#-*- coding: utf-8 -*-
import psutil, os, time

def getCpuRate():
   myList = [None]*10
   myString=" "
   myString2 = " "
   i = 0
   j = 0

   while True:
      if myList[9] is None:
         myList[i] = psutil.cpu_percent(interval=2)
         myString = myString + (str(myList[i]) + " ")
         i = i+1
         print i , myString
         #time.sleep(3)
      else:
         while i>0:
            myList[j] = myList[j+1]
            #print myList[j+1] , myList[j]
            for k in range(len(myList)):
               myString2 = myString + (str(myList[k]) + "")
            print i , j , myString2
            j = j+1
            i = i-1
            if j >= 9:
               myList[j] = psutil.cpu_percent(interval=2)
               print i , j , myString2
               j -= 1


print "a"
getCpuRate()
'''
mySecondList = getCpuRate()
for x in range(len(mySecondList)):
   print mySecondList[x]
'''
print "b"
4

2 に答える 2

0

dequeを使用しないのはなぜですか?

ダミーの値を 10 個入力してから、 and を使用appendpopます。したがって、すべてが左にシフトします。またはmaxlen=10、両端キューの (最大長)を指定し、 append.

于 2015-02-13T09:51:42.037 に答える