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))

スワップ後に何を印刷すればよいかわかりません。エラーが発生します (「ファイル "C:/Python33/project.py"、15 行目、メインの場合、A(j-1) < A(j): TypeError: 'list' オブジェクトは呼び出し可能ではありません」)

私は何をすべきか?

4

1 に答える 1

0

listインデックスを作成するのではなく、関数としてaを呼び出そうとしています

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リスト

Python関数についてもっと知っているのは4.6関数の定義を読んでください

于 2012-12-15T14:50:26.230 に答える