Python正方形和列表

时间:2014-12-28 10:04:21

标签: python python-3.x

def index_power(array, n):
    if n < len(array):
       return (array)[n]**n
    else:
       return -1


if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert index_power([1, 2, 3, 4], 2) == 9, "Square"
assert index_power([1, 3, 10, 100], 3) == 1000000, "Cube"
assert index_power([0, 1], 0) == 1, "Zero power"
assert index_power([1, 2], 3) == -1, "IndexError"

好的,我在第2行遇到了语法错误

以下是我需要做的以下内容:  给你一个带正数和数字N的数组。你应该在数组中找到索引为N的元素的N次幂。如果N在数组之外,则返回-1。别忘了第一个元素的索引是0。

3 个答案:

答案 0 :(得分:2)

if语句应该改为

if n < len(array):
   return (array)[n]**n

再次在这里,您可以忽略数组周围的括号并返回array[n] ** n

数组的索引必须在 -length到length-1 之内。但是在您的情况下,最好将其限制为正指数。 Python有一个很好的方法来做到这一点。您的说法可以更改为0<= n < len(array)。所以最后的函数看起来像

def index_power(array, n):
   if 0<= n < len(array):
      return array[n]**n
   else:
      return -1

答案 1 :(得分:1)

那&#34;&amp; LT;&#34;应该替换为&lt;符号。这是你唯一的错误。

看起来你从某个地方复制并粘贴了这段代码;在请求帮助之前,请尝试了解您的代码正在做什么以及其中的每个表达式是否有效。

答案 2 :(得分:1)

>>> def homework(list, n):
...     try:
...             i = list[n]
...             return pow(i, n)
...     except IndexError:
...             return -1
...
>>> homework([1,2,3,4],2)

多田?