草庐IT

python - 为什么我从 "ar[i]"中的 "for i in ar"得到一个 IndexError(或 TypeError,或者只是错误的结果)?

我正在尝试使用for循环对列表的值求和。这是我的代码:defsumAnArray(ar):theSum=0foriinar:theSum=theSum+ar[i]print(theSum)returntheSum我收到以下错误:line13,theSum=theSum+ar[i]IndexError:listindexoutofrange我发现我正在尝试做的事情显然和sum(ar)一样简单。但我想了解:为什么会出现此IndexError,我应该如何编写for循环?循环实际上是如何工作的?有关Python如何实现for循环和迭代器协议(protocol)的技术概述,请参见例如Howdoe