0
これで私の髪を引き出します。私は一日中このようなコードを書いています。なぜ私がこのことをやっているのかわかりません。多分私は睡眠が必要です。可変スコープの問題(私だと思います)
マイコード:
gsamp = 0 # good samples
zsamp = 0 # zero samples
nsamp = 0 # null samples
rtotal = 0
rtotalltms = 0
pctltms = 0.0
peakh = 0
peakl = 0
for sample in self.rawdata:
if "data" not in sample['data']:
nsamp += 1
continue
if not bool(sample['data']['data']):
nsamp += 1
continue
rtotal += sample['data']['value']
gsamp += 1
# If I print gsamp here it shows it being correctly incremented
for entry in sample['data']['data']:
if int(entry['key']) <= thresh:
rtotalltms += entry['value']
if gsamp == 1:
print "DEBUG gsamp=%d" % gsamp
peakh = int(entry['key'])
peakl = int(entry['key'])
continue
if int(entry['key'] > peakh):
peakh = int(entry['key'])
continue
if int(entry['key'] < peakl):
peakl = int(entry['key'])
continue
私は今まで、デバッグラインは1時間に印刷されたことがわかります。しかし何らかの理由でgsampがローカルにスコープされているなどです。
私は30個のサンプルのデータセットでこのコードを実行すると、私はデバッグ行は、任意の助け= 1
おかげgsampで30回を印刷していることがわかります。
しかしgsampがスコープ内に残っている、なぜそれがループの次に高いレベルと同じgsampを使用していないだろうか? – BenH