这是我的代码
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'
此程序计算输入的所有值的总和,但系列中的最大值
除外我不知道我哪里出错了
答案 0 :(得分:0)
问题在于这一行
input_list.sort
input_list
实际上并未被调用。您只是在sort
中存储对该函数的引用,从而对列表进行核对。
sorted
是一个inplace方法,它在列表本身上运行,而不是返回列表的新排序副本(请参阅None
)。它返回input_list = input_list.sort
,因此您不应尝试从其返回值进行分配。
替换
input_list.sort()
带
Afx:633C0000:1008