Исправить эту ошибку? Ошибка типа: аргумент типа builtin_function_or_method не повторяется - PullRequest
0 голосов
/ 20 октября 2019

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

Ранее у меня были все три словаря, но это не сработало. Теперь они все разделены.

 if currentTurn == 1:
        while len(player1sequence1) != 5:
            addingCard = str(input("Type the code of the card you want to add to your sequence:"))
            if addingCard in player1Cards[0].keys:
                if player1Cards[0][addingCard] != 0:
                    player1Cards[0][addingCard] -= 1
                    player1sequence1.append(addingCard)
                else:
                    print("You ran out of that card. Try again.")
            elif addingCard in player1Cards[1].keys:
                if player1Cards[1][addingCard] != 0:
                    player1Cards[1][addingCard] -= 1
                    player1sequence1.append(addingCard)
                else:
                    print("You ran out of that card. Try again.")
            elif addingCard in player1Cards[2].keys:
                if player1Cards[2][addingCard] != 0:
                    player1Cards[2][addingCard] -= 1
                    player1sequence1.append(addingCard)
                else:
                    print("You ran put of that card. Try again.")
        print(player1sequence1)

Я ожидал, что результат добавит «добавление карты» в список «player1sequence1», но это выдало мне эту ошибку:

 Traceback (most recent call last):
  File "C:/Users/Khang Nguyen/Attack Sequence text Based version.py", line 263, in <module>
    if addingCard in player1Cards[0].keys:
TypeError: argument of type 'builtin_function_or_method' is not iterable

1 Ответ

0 голосов
/ 20 октября 2019

keys - это функция, а не свойство, поэтому вы должны добавить ():

if addingCard in player1Cards[0].keys():

или даже лучше:

if addingCard in player1Cards[0]:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...