【问题标题】:Add n numbers which are in a list and return the total将列表中的 n 个数字相加并返回总数
【发布时间】:2020-07-16 04:06:16
【问题描述】:

我试图定义一个函数,该函数将添加列表中的n 数字并返回总数。我的代码:

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)

你能告诉我我做错了什么吗?

【问题讨论】:

  • 你能发布它给你的错误吗?
  • for j in range(1,len(addition_values_list+1)): TypeError: can only concatenate list (not "int") to list
  • len(addition_values_list+1):你在list而不是len上加1
  • 另外total也没有定义,当你在分配之前尝试使用它时会抛出错误

标签: python python-3.x list function


【解决方案1】:
  1. addition_values_list 是一个列表。您不能将整数 (1) 添加到列表中。
  2. 你从 1 跑到len(addition_values_list)。在 Python 中,索引从 0 开始。
  3. 在使用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)

【讨论】:

  • 感谢sum(addition_values_list)不知道
猜你喜欢
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 2020-03-01
  • 1970-01-01
  • 2020-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多