Неверный символ Python в идентификаторе - PullRequest
0 голосов
/ 03 декабря 2018

код Python ниже получает ошибочный символ ошибки в идентификаторе.Есть идеи почему?Это незаконченная функция, которую я пишу и вернул None на ранней стадии, так как она не была запущена из-за этой ошибки.

def spotifyrecs(mylibrary, newsongs):
    total = 0
    count = 0
    genredict = {}
    for artist in mylibrary:
        artistsongs = mylibrary[artist]
        for adict in artistsongs:
            total += adict["plays"]
            count += 1
            if adict["genre"] not in genredict:
                genredict[adict["genre"]] = 1
            if adict["genre"] in genredict:
                genredict[adict["genre"]] += 1
    avgplays = round(total / count, 2)
    genrelist = []
    for genre in genredict:
        newtup = (genredict[genre], genre)
        genrelist.append(newtup)
    genrelist.sort(reverse = True)
    return None

library = ​{"Ariana Grande": [{"title": "thank u, next", "plays": 100, "genre": "pop"}, {"title": "Last Christmas", "plays": 44, "genre": "Christmas"}], "Khalid":[{"title": "Location", "plays": 15, "genre": "R&B"}, {"title": "Young, Dumb, and Broke", "plays": 90, "genre": "R&B"}]}
songs = [{"title": "Loving is Easy", "artist": "Rex Orange County", "plays": 115, "genre": "R&B"}, {"title": "Halo", "artist": "Beyonce", "plays": 9, "genre": "R&B"}, {"title": "Focus", "artist": "Ariana Grande", "plays": 112, "genre": "pop"}, {"title": "Winter", "artist": "Khalid", "plays": 800, "genre": "R&B"}]
print(spotifyrecs(library, songs))

Ошибка:

  File "so.py", line 22
    library = ​{"Ariana Grande": [{"title": "thank u, next", "plays": 100, "genre": "pop"}, {"title": "Last Christmas", "plays": 44, "genre": "Christmas"}], "Khalid":[{"title": "Location", "plays": 15, "genre": "R&B"}, {"title": "Young, Dumb, and Broke", "plays": 90, "genre": "R&B"}]}
              ^
SyntaxError: invalid character in identifier

1 Ответ

0 голосов
/ 03 декабря 2018

У вас есть непечатный символ на входе: избавьтесь от символа <200b>, и это хорошо работает.

library = <200b>{
    "Ariana Grande": [
        {"title": "thank u, next", "plays": 100, "genre": "pop"}, 
        {"title": "Last Christmas", "plays": 44, "genre": "Christmas"}
    ],
    "Khalid":[
        {"title": "Location", "plays": 15, "genre": "R&B"},
        {"title": "Young, Dumb, and Broke", "plays": 90, "genre": "R&B"}
    ]}

Обратите внимание, что lot помогаетсделайте вашу программу более читабельной.Разделив это на отдельные строки и сделав отступы, мы сделали две вещи: (1) синтаксический анализатор дает мне лучшее местоположение, так как он может выдать сообщение об ошибке в конце строки;(2) Я мог бы гораздо проще искать простые опечатки и баланс скобок.

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