【发布时间】:2019-12-08 16:29:34
【问题描述】:
函数 point() 中的 for 循环不考虑在 game() 函数中已更新点列表。我该如何解决这个问题,所以结果是带有更新值的 names_points 列表。
names = ["peter", "sofia", "reinhard", "leo"]
points = [10] * (len(list))
def point(points):
for i in range(0, len(points)):
names_points = [name + " has " + str(points[i]) + " points." for name in names]
return names_points
def game():
x = points[0] - 1
points.remove(points[0])
points.insert(0, x)
return point(points)
print(game())
【问题讨论】:
-
请注意,您在循环的每次迭代中都会覆盖
names_points的值。我相信您正在寻找的是append到names_points列表。所以像names_points.append([name + " has " +...]) -
您还可以在点函数中使用点作为参数。这意味着,您不会改变全局点变量,而是改变全局变量的局部变量。
-
您遇到错误了吗?它是什么?您希望看到什么?
-
@TheFool。但他正在传递它
-
是的,没错。对不起
标签: python python-3.x list loops