我的forloops在这里没有正确递增。我使用变量p进行的任何列表似乎都不想增加。它继续使用和输出相同的值,即使它应该通过列表,我不知道如何修复它。
for p in range(0,len(C13Masses)):
for l in range(0,len(sortedMass)):
newError = ((float(C13Masses[p])-float(sortedMass[l]))/float(C13Masses[p]))
exp_ratio = float(AbuList[l])/float(Abu)
#print newError
if -error <= newError <= error and Tratio[p]*(0.01) <= exp_ratio <= Tratio[p]*(2.9):
Hits.append(sortedMass[l])
print newError, Tratio[p]*(0.01), exp_ratio, Tratio[p]*(2.9), ' ', C13Masses[p]
以下是输出的一部分:
these are the 13C Masses: [247.22498116056002, 248.22833599836002,
249.23169083616, 250.23504567396003, 251.23840051176]
0.00189079878665 0.000168240943605 9.35616976571e-06 1.99758297649e-38
0.198593689562 0.00189079878665 0.377861498675 0.548331648129 247.224981161
0.133748786249 0.00189079878665 0.537307237955 0.548331648129 247.224981161
0.121834092247 0.00189079878665 0.358098400434 0.548331648129 247.224981161
0.121601834165 0.00189079878665 0.32636250439 0.548331648129 247.224981161
0.0893994654456 0.00189079878665 0.497940678778 0.548331648129 247.224981161
0.0893985351189 0.00189079878665 0.413524472399 0.548331648129 247.224981161
0.0893824364222 0.00189079878665 0.324574566585 0.548331648129 247.224981161
0.0893816274425 0.00189079878665 0.435714057661 0.548331648129 247.224981161
0.0893376189448 0.00189079878665 0.32438300182 0.548331648129 247.224981161
0.0892978171418 0.00189079878665 0.368315187893 0.548331648129 247.224981161
0.0892961991823 0.00189079878665 0.326617924076 0.548331648129 247.224981161
0.0892508154191 0.00189079878665 0.424667156221 0.548331648129 247.224981161
0.089003024926 0.00189079878665 0.439130295968 0.548331648129 247.224981161
0.0851244929285 0.00189079878665 0.532198844226 0.548331648129 247.224981161
0.0693502375046 0.00189079878665 0.335078701191 0.548331648129 247.224981161
0.0529637866655 0.00189079878665 0.378723540117 0.548331648129 247.224981161
0.0286653522119 0.00189079878665 0.327320328214 0.548331648129 247.224981161
0.0122736430045 0.00189079878665 0.433670700169 0.548331648129 247.224981161
-0.00372801662321 0.00189079878665 0.451805497909 0.548331648129 247.224981161
你可以看到最后的第三个和最后一个列都没有改变,但它们应该
所以它有效:它只是在if语句中打印出true的值。我只是愚蠢