我需要接受数字列表并使该数字平方。基于此。我以为我编写的代码是正确的,但没有显示任何输出。
你们能帮助我找出问题所在吗?
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
答案 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]