将值分配给列表

时间:2017-04-25 01:26:38

标签: python-3.x

陈述" 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

1 个答案:

答案 0 :(得分:0)

如果现在没有测试它的可能性,但是因为你似乎想要一个包含"无"如果if不匹配则为" GEH"如果匹配,我会使用"否则" - 声明并附加无。

a = obj.a or b = obj.b;

对于杂乱的印刷品感到抱歉"如果" - 这是我能想到的最简单的方法;)。 正如我所说,我无法测试,但我认为这可行。