В настоящее время я работаю над сайтом, который будет определять игры пользователя и время. В моем веб-приложении пользователь может установить игры как законченные (сыгранные). Я успешно создал список словаря и ту игру, в которую играли до конца. Я думаю, что немного кода иллюстрации поможет.
Это мой код, который должен генерировать два отдельных списка словарей. plays_games_entries действительно работает. Я пробую это с другим, но это не работает, как я намерен. Я знаю проблему, но это трудно объяснить, и я не знаю, каким должен быть мой подход. Если честно, я немного запутался, потому что оператор if работает, а оператор else нет.
def get_name_and_due(request, played_games, games_list):
open_games_entries = []
played_games_entries = []
for game in games_list:
for played_game in played_games:
due_perc = convert_due_into_percentage(game['due'], request.session.get('max_due'))
if game['game_name'] == played_game['played_game_name']:
played_games_entries.append({'name': game['game_name'], 'due': due_perc})
break
else:
pass
Вот мои значения для параметров plays_games и game_list.
games_list = [
{'index': '1', 'game_name': 'Temtem', 'due': '00:30:04'},
{'index': '2', 'game_name': 'The Forest', 'due': '10:00:30'},
{'index': '3', 'game_name': 'The Witcher 3: Wild Hunt', 'due': '50:15:25'},
{'index': '4', 'game_name': 'STAR WARS Jedi: Fallen Order', 'due': '18:15:00'}
]
played_games = [
{'played_game_name': 'Grand Theft Auto: San Andreas'},
{'played_game_name': 'The Witcher 3: Wild Hunt'},
{'played_game_name': 'ONE PIECE: PIRATE WARRIORS 4'}
]
И последний код будет ожидаемым результатом . И отметить, что plays_game_entries действительно работает
open_games_entries = [
{'index': '1', 'game_name': 'Temtem', 'due': '24.44'},
{'index': '2', 'game_name': 'The Forest', 'due': '10'},
{'index': '4', 'game_name': 'STAR WARS Jedi: Fallen Order', 'due': '20'}
]
played_games_entries = [
{'index': '3', 'game_name': 'The Witcher 3: Wild Hunt', 'due': '100'}
]
Я работал весь день, чтобы исправить это самостоятельно, но мне не удалось. Я смотрю на проблему с inte rnet и SO, и многие предлагают Set. Но я не рассматривал этот подход, потому что он основан на списке, и у меня есть список словарей. И мне действительно интересно увидеть подход с -10 oop, потому что я действительно думаю, что это возможно.
С наилучшими пожеланиями
Линда