Python函数平方

时间:2019-06-14 10:05:37

标签: python

我需要接受数字列表并使该数字平方。基于此。我以为我编写的代码是正确的,但没有显示任何输出。

你们能帮助我找出问题所在吗?

def square(num_list):

    Accepts a list of numbers, and returns a list of the same numbers squared.
    e.g. [1, 2, 3] -> [1, 4, 9]
    """

    return squared_list  


#MYCODE

def squared(list):

    squared_list = [ ]

    for i in squared_list:

        squared_list.append(i ** 2)

    return squared_list

3 个答案:

答案 0 :(得分:2)

def squared(list):
    squared_list = []
    for i in list: #<---- you are itterating over empty list squared_list
        squared_list.append(i**2)
    return squared_list

print (squared([1,2,3]))

输出:

[1, 4, 9]

答案 1 :(得分:2)

您可以使用列表理解

def square(input_list):
     square_list =[ number**2 for number in input_list]
     return square_list

答案 2 :(得分:0)

for i in squared_list:

^这是您的问题,您要遍历空白列表,而不是带有数字的列表。

应该是:

def squared(list):
    squared_list = [ ]
    for i in list: # changed here
        squared_list.append(i ** 2)

    return squared_list

此外,我建议不要使用名称list-它会掩盖buildin类的名称。在一个函数中没问题(仅在该函数中对其进行阴影),但仍然不是一个好习惯。

还有一个使用列表理解的简短版本:return [i**2 for i in list]