陈述" a [i] = GEH"没有将GEH的值分配给列表。 这是为什么?非常感谢,如果有人能告诉我我做错了什么。
代码: -
import os, sys
global rec
def interpret_string(s):
if not isinstance(s, str):
return str(s)
if s.isdigit():
return int(s)
try:
return float(s)
except ValueError:
return s
f= open("turn.prn","r")
f1=open('turn.out', 'a')
if f.mode == 'r':
fl = f.readlines()
i = 0
a = [0.0] * 1000
rec = [0] * 1000
for x in fl:
vol = interpret_string(x[90:96])
ul1 = interpret_string(x[32:40])
ul2 = interpret_string(x[41:49])
if vol != str(x[90:96]):
if vol > 0 and ul1 > 0:
Diff = (((ul1 - vol) / ul1) ** 2) ** 0.5
GEH = (((2 * (ul1-vol)**2))/(ul1+vol))**0.5
if GEH > 0.0 :
a[i]=GEH
rec[i] = i
i=i+1
print(i,a[i],rec[i],GEH)
f.close()
f1.close()
此致
Razif
答案 0 :(得分:0)
如果现在没有测试它的可能性,但是因为你似乎想要一个包含"无"如果if不匹配则为" GEH"如果匹配,我会使用"否则" - 声明并附加无。
a = obj.a or b = obj.b;
对于杂乱的印刷品感到抱歉"如果" - 这是我能想到的最简单的方法;)。 正如我所说,我无法测试,但我认为这可行。