0
我是一個初學者,我正在尋求幫助。我應該寫一個簡單的PROGRAMM從文件中讀取數字(它們是有序的兩列是這樣的:沒有錯誤,只是不打印或做任何事情
3 788506
255 879405
3 687899
255 697879 etc)
始終成對減去數近255從數近3分歧應附加到一個列表,我還必須檢查這對是否是嚴格的(例如,它總是3和255一個接一個,而不是兩個255)到目前爲止,我認爲我已經準備好了,但它什麼也沒有做。花了幾個小時尋找我的錯,但我看不出哪裏出了問題。我希望得到任何幫助。
filepath = "C:/liz/RT1-1.dat"
f = open (filepath, 'rU')
reac3 = []
reac255 = []
right_list = []
wrong_list = []
very_wrong_list =[]
li = [i.strip().split() for i in f.readlines()]
for element in li:
if int(element[0]) == 3: reac3.append(element[-1])
elif int(element[0]) == 255: reac255.append(element[-1])
k = 0
for i in range (0, len(li)+1, 2): #0,2,4,6,8 etc
if li[i][0] == 3 and li[i+1][0] == 255:
difference = int(reac255[k]) - int(reac3[k])
print int(difference)
k+=1
if difference > 300 and difference < 1200: right_list.append(difference)
else: wrong_list.append(difference)
else: very_wrong_list.append(li[i])
print right_list
謝謝。但不會拆分字符串轉換爲列表?如果我打印'li',我會得到列表(每行都是列表)。 – 2013-03-11 08:45:28
比較li [i] [0]和字符串,比如'li [i] [0] =='3'' – naiquevin 2013-03-11 08:47:51
直到我開始迭代的時候,這一切都很順利。我可以很好地打印reac3和reac255,但在此之後,某些內容會失敗。 – 2013-03-11 08:48:52