-1

我有一个功能可以查看玩家手中的牌,并根据他们手中的牌增加他们的分数。我将所有卡值存储在 JSON 文件中。到目前为止我有这个代码:

with open("values.json") as values:
    value = json.load(values)
    for i in range(0, len(hand)):
        card = hand[i]

值.json

{
    "3Hearts": 3
}

如果卡是3Hearts我怎么能让3被退回?还是有更好的方法来存储数据?

4

1 回答 1

1

我承认我对 json 文件不是很熟悉。但是,如果不需要 json 文件,您可以将数据存储在另一个 .py 文件中(例如 Cards.py)。

另外,因为您使用的是 python,所以最好制作 aCard class和 make Card objects。这就是它的样子:

    # Make Card Class
    class Card:
        def __init__(self, name, number):
            self.name = name
            self.number = number


    # Make Card Objects
    threehearts = Card("3Hearts", "3")

在这里我使用threehearts了代替,3Hearts因为以数字开头的对象名称不是一个好习惯。为了补偿我做了一个属性,你可以像在问题中那样Card.name“命名”卡片。"3Hearts"

因此,假设您要使用该 .py 文件来存储您的数据,这就是我的建议:

    # Import data here
    from Cards import*

    # Make the player's hand
    hand = [threehearts]

    # Display the number corresponding to the player's hand
    for i in range(0, len(hand)):
        card = hand[i]
        print(card.number)

此代码的输出将是:

    3

如果需要,您也可以存储hand = [threehearts]在 Cards.py 文件中。

于 2020-07-13T20:11:04.440 回答