Проверьте список, чтобы увидеть, соответствуют ли его значения другому списку - PullRequest
0 голосов
/ 03 июня 2019

У меня есть игра-монополия, которую я создаю, в этом у меня есть один список, называемый свойствами, который содержит все имена свойств:

property = ["Go", "Mediterranean Ave", "Community Chest", "Baltic Ave", "Income Tax", "Reading Railroad",
        "Oriental Ave", "Chance", "Vermont Ave", "Connecticut Ave", "jail/Just Visiting", "St. Charles Place",
        "Electric Company", "States Ave", "Virginia Ave", "Pennsylvania Railroad", "St. James Place",
        "Community Chest", "Tennessee Ave", "New York Ave", "Free Parking", "Kentucky Ave", "Chance",
        "Indiana Ave", "Illinois Ave", "B. & O. Railroad", "Atlantic Ave", "Ventnor Ave", "Water Works",
        "Marvin Gardens", "Go to Jail", "Pacific Ave", "North Carolina Ave", "Community Chest",
        "Pennsylvania Ave", "Short Line Railroad", "Chance", "Park Place", "Luxury Tax", "Boardwalk"]

У меня также есть список цветов, который отмечает цвета свойств:

propertyColor = [
"None", "Brown", "None", "Brown", "None", "None", "Navy", "None", "Navy", "Navy", "None", "Pink", "None", "Pink", "Pink", "None", "Orange", 
"None", "Orange", "Orange", "None", "Red", "None", "Red", "Red", "None", "Yellow", "Yellow", "None", "Yellow", "None", "Green", "Green", "None",
"Green", "None", "None", "Blue", "None", "Blue"    

]

И у каждого игрока есть словарь, связанный с его именем

        {
         "playerName": name,
         "money": settings[4],
         "properties": ["Mediterranean Ave", "Baltic Ave"],
         "railroads": [],
         "inJail":   False,
         "PlayerLocation": 0
         }

Я хотел бы сделать так, чтобы, если пользователь хочет построитьПосле того, как пользователь получит все три свойства в одной цветовой группе, он выполнит следующую команду, как это будет сделано.

1 Ответ

0 голосов
/ 03 июня 2019

Код

user_properties = ["Mediterranean Ave", "Baltic Ave"]
from collections import Counter
repeat = [propertyColor[property.index(x)] for x in user_properties]
repeat_dict = Counter(repeat)

Выход

Counter({'Brown': 2})

Затем проверьте, есть ли какой-либо цвет с 3 счетами.

{v: k for k, v in repeat_dict.items()}
{2: 'Brown'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...