在没有内置函数的情况下以递减顺序输出给定文件中的数字

时间:2012-12-15 14:47:12

标签: python file list min

我必须:

  1. 要求用户输入文件
  2. 检查文件是否存在
  3. 在列表中存储号码(来自文件)
  4. 查找列表的长度
  5. 并按降序排序,没有内置函数
  6. 这是我到目前为止所拥有的:

    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行,在main中     如果A(j-1)&lt; A(j)的: TypeError:'list'对象不可调用“)

    我该怎么办?

1 个答案:

答案 0 :(得分: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