Надо вам бы книжечку почитать по питону. Быстрее и полезнее было бы для вас в плане освоения.
Вот, например устаревшая конструкция:
#-*- coding:cp1251 -*-
Сейчас принято весь код держать в utf-8 и испоьзовать свежий питон третьей версии.
Прочитайте про PEP8.
Считается плохим стилем использовать CamelCase для чего-то кроме классов.
Для переменных и имен функций нужно использовать snake_case.
selected_genre = str()
selected_game = str()
Ни к чему объявлять такие переменные присвоением пустой строки, причем с вызовом явного конструктора. В Питоне строки - неизменяемый тип, а переменные. это не ячейки, зарезервированные в памяти, а, как бы, "бирки" с именем, которые вешаются на объекты. ВОт строки - это объекты, которые нельзя менять. Как создаются, так и остаются.
genre_file = open('genres.txt')
Не хорошо так открывать файл. Для такого мелкого скрипта это не так важно, но хорошую привычку у себя формировать надо всегда и всегда надо работать с файлами правильно. Через контекстный менеджер with и используя pathlib.
GenreList.append(line.strip())
Обратите внимание на разницу между append и extend, именно в этом одна из причин проблемы, с которой вы тут боретесь.
value = item.split(" ")[1:]
Сплит можно делать по знаку равно, а не только по пробелу. Такое ощущение, что вы не особо задумываетесь, что пишете в коде.
Там дальше вообще какая-то дичь. Так писать нельзя. Код непрозрачный и нечитабельный. Если вы наделали кучу косяков и ошибок в более простом коде, то вот в дальнейшей каше там вообще швах.
Проще надо.
Во-первых, используйте стандартные форматы для сериализации структур данных, например json, а тут лучше yaml. Он лучше подходит для редактирования человеком и не надо его парсить вручную совершая кучу ошибок в никому не нужном коде. Ваша задача вся решается в несколько понятных простых строчек, а вы тут навертели.
Во-вторых, почему вы так странно храните и выбираете игры? Храните их одним перечнем словарей. Каждый словарь в перечне будет соответствовать одной игре. В этом словаре будут все её параметры: название, жанр, рейтинг, если надо, который будет влиять на вероятность выбора...
Разбивайте всегда задачу на ОЧЕНЬ МАЛЕНЬКИЕ подзадачи и решайте их отдельно. Проверяйте решение подзадачек тоже по отдельности, убеждайтесь, что этим мелкие кирпичики работают.
Повторюсь, изучайте питон, чтобы программировать на нем как на питоне, а не вот так вот. Успехов.