我在Jupyter notebook中有以下代码,它打印radiuslist,但只迭代resultlist的第一个结果
def areacirclelist(radiuslist):
for oneradius in radiuslist:
resultlist = []
resultlist.append(math.pi*oneradius*oneradius)
return resultlist
radiuslist = [1,2,4,8,21,80]
arealist = areacirclelist(radiuslist)
print ('For the circle with radii of ', radiuslist, 'the areas are', arealist)
我感谢你的帮助
您应该将
resultlist = []
和return语句放在循环之外您需要在for循环之外定义
resultlist = []
。每次迭代都会覆盖它编辑:还需要将return语句移到循环之外
resultlist
只包含一个数字,因为它是在for循环中初始化的,所以每次迭代都会将其设置为[]您可以简单地通过将初始化移到for循环之外来修复它
但是,您可以用更简单易读的方式编写:
相关问题 更多 >
编程相关推荐