几天来,我一直在努力访问我的列表列表的第二列,并总结浮动
我的列表中的第一列有12行,它们都代表一年中的每个月,并用月份的名称填充。第二列用浮标填充,表示每月的降雨量
当尝试添加第二列float时,我总是得到一个"TypeError: unsupported operand type(s) for +=: 'int' and 'str"
。好吧,我完全理解。不能添加字符串,因为它们是字母,而不是数字。下面是我的代码:
def total_Rainfall(months):
total = 0
for c in range(2):
for r in range(12):
total += months[r][c]
print('The total rainfall for the year is ', total, ' inches.')
如您所见,我将total初始化为0,然后将其用作累加器,将每个浮点值相加,然后打印总数。名为months的列表列表(作为参数传入)有2列(1列表示月份字符串,1列表示降雨浮动-浮动在第二列中)。我遍历列和数组来访问浮动
我试过用[:,1]
访问,但这不是元组。我尝试过切片[0:11],但是必须首先访问字符串行,这为我创建了一个断点,我不希望启用它。我试过使用total = int(months[r][c])
,但没有用。我确信我的浮点是列表中的浮点,而不是字符串,这里有证据:['April', 2.0]
我想我很快就会得到这个,因为我在C#中处理过多维列表。我到底错过了什么
我不是在寻找答案。我在寻找正确方向的指引。我希望我提供了足够的信息。我很肯定,我错过了一些非常简单的东西,我会打自己的最后。请帮帮我!我显然想得太多了
注意:不能为此使用预先存在的库。有点违背了任务的目的
现在,您正在查找列表列表中的每个元素并将它们相加。这将导致:
显然,这是无效的。因此,只能访问数组中的第二列。您可以使用以下任一方法执行此操作:
两种方法都很好,但我更喜欢方法1
很明显,您也在添加字符串,因为
total += months[r][c]
可以是total += months[0][0]
,也就是一个字符串相反,您可以这样做:
因此,如果我们用以下数据来尝试:
我们得到:
相关问题 更多 >
编程相关推荐