-1
即時通訊讓我的Python代碼讀取文本文件並將所有貨幣值加在一起時遇到問題。代碼似乎在我的電腦上工作正常,但只要我將文件傳輸到我的Mac,它給了我一大堆的錯誤。這裏是代碼從文本文件中獲取所有currecny值
#!usr/bin/python
import sys
def findnum(x):
list = x.split(' ')
index = 0
listindex = -1
numlist = []
sum = 0
for w in list:
if ((w.strip('. n,')).isalpha() != True and w[0].isalpha() != True and w[-2].isdigit() == True):
numlist.append(w)
listindex += 1
while listindex >= 0:
sum += float(numlist[listindex].strip('$ n.'))
listindex -= 1
return sum
def main():
text = open(sys.argv[1])
x = text.readline()
sum = 0
if len(x) > 0:
findnum(x)
while len(x) > 0:
sum += findnum(x)
x = text.readline()
print '{0:.2f}'.format(sum)
if __name__ == '__main__':
main()
這裏是文本 這是從ACME材料 公司發票。你收到50磅的沙子,花費40美元,費用爲 。我們交付的磚是75公斤的75.5 。另外,我們以200美元交付了30碼 草皮。運費是$ 35。
所以我需要添加40 + 70.5 + 200 +35 我一直在索引超出範圍錯誤.. 任何人都認爲他們可以幫助我嗎?
您的PC和Mac是否運行相同的版本?另外,我們可以看到回溯?另外,您是否閱讀過sys.argv的文檔? – 2012-02-23 00:49:30
你的錯誤是什麼,它是否給你一條失敗的路線? – 2012-02-23 00:55:45
回溯(最近最後調用): 文件 「matt.py」,線路33,在 主() 文件 「matt.py」,第28行,在主 總和+ = findnum(X) 文件「如果((w.strip('。n,'))。isalpha()!= True並且w [0] .isalpha()!= True並且w [-2],則在findnum 中的'matt.py' .isdigit()== True): IndexError:字符串索引超出範圍 –
matture
2012-02-23 00:59:55