2012-12-15 28 views
0

我對遞減順序輸出從給定文件編號:在沒有內置函數

  1. 在列表中要求用戶輸入文件
  2. 檢查文件是否存在
  3. 店數(從文件)
  4. 列表的長度找到
  5. 和排序在沒有內置函數遞減順序

這是我到目前爲止有:

def main(): 
    try:   
     file=open(input (str("Please enter the name of the file you wish to open:")),"r") 
     A= file.readlines() 
     print (A) 
     file.close 

     n=len(str(A)) 
     print (n) 

     new_list=[] 
     for i in range (n): 
      for j in range (n-i): 
       if A(j-1) < A(j): 
        swap (A(j), A(j-1)) 
    except IOError as e: 
     print("({})".format(e)) 

我不知道有什麼可以打印爲置換後。 (j-1)< A(j): TypeError:'list'對象不可調用「)

我該怎麼辦?

+1

要使用'[]'而不是'()'來訪問列表的元素,但是什麼是'swap'? (看起來像你幾乎粘貼了一些僞代碼) –

+0

http://docs.python.org/2/tutorial/introduction.html#lists – YXD

回答

0

您正在試圖調用list作爲一個函數,而不是建立索引

if A(j-1) < A(j): 
    swap (A(j), A(j-1)) 

實際上應該是

if A[j-1] < A[j]: 
    swap (A[j], A[j-1]) 

要懂得索引列表,請通過本教程閱讀3.1.3 Lists

呦知道更多關於Python函數的閱讀4.6 Defining Functions

+0

我想這也是我的錯誤,但是當我索引它時,我得到如果A [n-1] user1906407