基本for循环不起作用

时间:2014-04-12 17:04:29

标签: python for-loop

我是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)

2 个答案:

答案 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):

这是更好的,因为你基本上只是每次向上迭代相等的数量 - 条件总是在同一时刻完成。