Python - IndentationError:期望if上的缩进块

时间:2013-03-19 13:04:49

标签: python

我是python的新手,所以这是我的问题。 我在第31行的y_list上收到错误“IndentationError:expect a adented a block” - >之后第一个如果。 我加载的文件包含很多数字,其思路是跳过所谓的y_list中的否定文件。

filename = "data_5.dat" # this file can also be found in the sandbox folder 
x_list = []
y_list = []

fp = open(filename)
for line in fp:
    var1, var2  = line.split(",")    # here we wish to split the line using the ',' character

    # since we want them in numeric format we need to convert
    a = float(var1)
    b = float(var2)

    # put them into two lists
    x_list.append(a)
    y_list.append(b)

fp.close()    # close the file


x = x_list
y = y_list

I = 0.0
L = 0.0

for k in range(1, len(x)):
if y_list>0:
        y_list.append(y)
        I += y[k-1] * (x[k] - x[k-1])

for k in range(1, len(x)):
if y_list>0:
        y_list.append(y)
        L += y[k] * (x[k] - x[k-1])

print I
print L
print (I+L)/2

3 个答案:

答案 0 :(得分:0)

转到第31行(然后是第36行)并缩进。点击该行开头的Tab键,使其向右突出一点。

答案 1 :(得分:0)

for k in range(1, len(x)):
if y_list>0:
        y_list.append(y)
        I += y[k-1] * (x[k] - x[k-1])

这些if块是for块的一部分,因此需要从它们中缩进一个:

for k in range(1, len(x)):
    if y_list>0:
        y_list.append(y)
        I += y[k-1] * (x[k] - x[k-1])

标准是使用四个空格,但如果混合制表符和空格,即使它是技术上有效的Python,也会遇到类似这样的问题。

答案 2 :(得分:0)

 #!/usr/bin/python

 import base64

 if naujas==20:
      Ivestis=input('Iveskite failo varda kuri noresite koreguoti')

 file2 = open(Ivestis, 'r')

 failas=file2.read() file2.close() file4=open(Ivestis,'r+')

 bfailas=failas.encode("UTF-8") efailas=base64.b64encode(bfailas)
 print(efailas)



 # encoded _data has the encoded form of our text – ’see the source’


 efailas=str(efailas)

 file4.write(efailas)

 file4.close()

 elif naujas==20:

 file3 = open('Naujas.txt', 'r+') 


 naujas=base64.b64decode(file3.read())

 print(naujas)


 else

 print('Tikriausiai tokio failo nera')

相同

*不起作用:/