Python 将列表中的n个数字相加并返回总数
我试图定义一个函数,该函数将添加列表中的n个数字并返回总数。我的代码:Python 将列表中的n个数字相加并返回总数,python,python-3.x,list,function,Python,Python 3.x,List,Function,我试图定义一个函数,该函数将添加列表中的n个数字并返回总数。我的代码: def addition(): i = True while i: print("You chose addition") print() addition_values_list = [] addition_count = int(input("Enter number of count: "))
def addition():
i = True
while i:
print("You chose addition")
print()
addition_values_list = []
addition_count = int(input("Enter number of count: "))
for i in range(1,addition_count+1):
values = int(input(f"Enter value of number {i}: "))
addition_values_list.append(values)
for j in range(1,len(addition_values_list+1)): # <-- The error occurs here.
total = total + (addition_values_list[j]) # <--
print(total)
你能告诉我我做错了什么吗
添加值列表是一个列表。不能将整数1添加到列表中。
您可以从1运行到添加值列表。在Python中,索引从0开始。
在使用total+之前,必须将total重置为某个值。。。
因此,代码应该如下所示:
total = 0
for j in range(len(addition_values_list)):
total = total + (addition_values_list[j])
请注意,您可以使用for循环立即获取值。您不必在此处使用索引:
total = 0
for j in addition_values_list:
total = total + j
您可以使用sum,这可能会更快:
sum(addition_values_list)
你能公布它给你的错误吗?对于范围1中的j,lenaddition\u values\u list+1:TypeError:只能将list not int连接到listlenaddition\u values\u list+1:您正在将1添加到list not lenaddition中。此外,总计也未定义,并且在分配给它的sumaddition\u values\u list之前尝试使用它时将抛出错误。list不知道这一点