AttributeError:'builtin_function_or_method'对象没有属性'pop'

时间:2016-02-11 06:46:34

标签: python python-3.x

这是我的代码

def allButMax():
    input_list=[]
    user_input = 0
    num_sum = 0
    max_num = 0

    while user_input != "end":
        input_list.append(float(user_input))
        user_input = input("Enter next number: ")


    input_list = input_list[1:]

    input_list = input_list.sort


    input_listnew = input_list.pop(-1)


    for num in input_list:
     num_sum = num_sum + num

    print("The num of all values except for the maximum value is: ", num_sum)

当我运行该程序时,它说

  

AttributeError:'builtin_function_or_method'对象没有属性'pop'

此程序计算输入的所有值的总和,但系列中的最大值

除外

我不知道我哪里出错了

1 个答案:

答案 0 :(得分:0)

问题在于这一行

input_list.sort

input_list实际上并未被调用。您只是在sort中存储对该函数的引用,从而对列表进行核对。

sorted是一个inplace方法,它在列表本身上运行,而不是返回列表的新排序副本(请参阅None)。它返回input_list = input_list.sort ,因此您不应尝试从其返回值进行分配。

替换

input_list.sort()

Afx:633C0000:1008