我是Python的新手,我正在尝试编写一个for
循环来查看结果列表,对它们进行一些计算然后打印它们,但它不起作用。
正如我所说的,我是新手并试图学习,如果有人有这方面的经验,请你向我解释,我知道这可能是一个愚蠢的错误,但我看不到它。
for test in test_set:
person_id = test['person_id']
place_id = test['place_id']
rating = test['rating']
predicted_rating = simple_nearestneighbours(person_id, place_id, 50)
n = 0
while n < 50:
mae = (abs(predicted_rating - rating))
#return mae/ 5
# print mae/50
print "MAE " + str(mae/50)
答案 0 :(得分:1)
您没有在n
循环中增加while
的值。
这会导致while
循环无限期运行,从而导致for
循环无限期运行。
如果您真的想在n += 1
循环使用,请在while
循环中添加语句{{1}}。
答案 1 :(得分:0)
while
循环无限运行,n
始终小于50
(您永远不会从0
更改其值),这意味着您的for
循环卡住了。
您可以通过在循环中使用while
递增n
来修复n += 1
循环,但在此处使用while
循环毫无意义。
而不是while
循环,我只会使用for
循环:
for n in range(50):
这是更好的,因为你基本上只是每次向上迭代相等的数量 - 条件总是在同一时刻完成。