«Объект NoneType не повторяется», когда код отлично работает для других. Как мне понять, что не так? - PullRequest
0 голосов
/ 24 мая 2019

Я слежу за направляемым проектом на Python, и я написал код, который, кажется, соответствует решению, однако я получаю сообщение об ошибке, а они нет.

Я видел в Интернете, что может потребоваться возврат, но решение не использует его, и независимо от того, где я размещаю возврат, я все равно получаю ошибку.

"displayfreq" - код, который я определил выше в коде; он производит отсортированную таблицу частот.

genres_ios = displayfreq(ios_free, -5)

for genre in genres_ios:
    total = 0
    len_genre = 0

    for app in ios_free:
        genre_app = app[-5]
        if genre_app == genre:
            tot_ratings = float(app[5])
            total += tot_ratings
            len_genre += 1
    avg_tot_rating = total / len_genre
    print(genre, 'with average total rating of', avg_tot_ratings)

Я ожидал увидеть среднее количество оценок по жанру, но вместо этого я получаю,

«Ошибка типа: объект NoneType не повторяется»

для линии "for genre in genres_ios"

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Поскольку вы указали, что получаете "TypeError: объект NoneType 'не повторяется" для строки " для жанра в genres_ios: ...", это означает, чтопеременная genres_ios имеет значение Нет и, таким образом, вы получаете такую ​​ошибку.

Для этого вам необходимо вернуть переменную иливыражение вашей отсортированной таблицы частот.

Также обратите внимание, что в функции displayfreq вы не манипулируете переменной ios_free, иначе вы бы изменили значение ios_free.Если вам нужна копия ios_free, используйте ios_free.copy () .

0 голосов
/ 24 мая 2019

Оператор возврата - это , необходимый в displayfreq(), или он вернет None. Поскольку genres_ios равно None, вы не можете выполнить итерацию по нему, и вы получите ошибку.

Если он работает на других машинах, displayfreq() может не работать на вашей машине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...