dict对象不可调用-Python 3

问题描述 投票:0回答:1

我正在写二十一点代码,这是我目前拥有的代码:


values = {'Two': 2, 'Three': 3, 'Four': 4, 'Five': 5, 'Six': 6, 'Seven': 7, 'Eight': 8, 'Nine': 9, 'Ten': 10,
          'Jack': 10, 'Queen': 10, 'King': 10, 'Ace': 11}

class Hand:

    # This Class will keep tracking of the Player's and Dealer's Hands

    def add_card(self,cards):
        self.cards.append(cards)
        self.value += values(cards.rank)
        if cards.rank == "Ace":
            self.aces += 1 #adds to self.aces
        pass

这是我得到的错误。

Traceback (most recent call last):
  File "D:/Python/Projects/BlackJack OOP1.py", line 175, in <module>
Round 1 Begins! 
    main()
  File "D:/Python/Projects/BlackJack OOP1.py", line 141, in main
    Human.add_card(Random_Deck.deal())
  File "D:/Python/Projects/BlackJack OOP1.py", line 73, in add_card
    self.value += values(cards.rank)

TypeError: 'dict' object is not callable

有人可以为此指出正确的方向吗?

编辑:我有一个全局等级变量:

等级=(“两个”,“三个”,“四个”,“五个”,“六个”,“七个”,“八个”,“九”,“十”,“杰克”,“女王”,“国王”,“王牌”)

对不起,我没有将这个早期的cos放到网站上,不允许我使用。

python dictionary oop blackjack
1个回答
0
投票

您应该索引到带有括号而不是括号的字典中。

values[key]
© www.soinside.com 2019 - 2024. All rights reserved.