我编写了一个程序,该程序接受数字列表,并通过在Python中连接数字列表来返回可能的最大数字。但是,当我执行代码时,出现以下错误消息ValueError: max() arg is an empty sequence
。这是我的代码:
def create_largest_number(number_list):
l=list()
m=max(number_list)
while(number_list!=0):
m=max(number_list)
l.append(m)
number_list.remove(m)
return l
number_list=[23,45,67]
largest_number=create_largest_number(number_list)
print(largest_number)
样本输入:23,34,55
样本输出:554323
答案 0 :(得分:0)
number_list!=0
总是正确的,因为number_list
是一个列表,而不是一个数字,所以while number_list != 0
是一个无限循环,并且假设您要从列表中删除项目在每次迭代中,列表最终将变为空。但是它永远不会变成零,因此在下一次迭代中,您的代码将尝试计算max(number_list) == max([])
,这是一个错误。
您可以通过以下方式解决它:
while number_list: # a.k.a. `while len(number_list) > 0:`