Python卡选择

2024-09-27 23:24:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的新手,我试图弄清楚如何向用户请求输入,然后使用该输入从一副卡片中选择一张特定的卡片。这就是我目前所拥有的

cardfaces = []
suits = ["Hearts", "Diamonds", "Clubs", "Spades"]
royals = ["J", "Q", "K", "A"]
deck = []


for i in range(2,11):
    cardfaces.append(str(i))


for j in range(4):
    cardfaces.append(royals[j])



for k in range(4):
    for l in range(13):
        card = (cardfaces[l] + " of " + suits[k])
        deck.append(card)


for m in range(52):
    print(deck[m])
pick=input('Pick a card 1-52 :')

Tags: 用户inforrangecarddeckappend新手
3条回答

你快到了!您只需从deck取出卡。在

pick = input('Pick a card 1-52 :')

card = deck[int(pick)-1]

print("You chose: The {}".format(card))

(嘘!记住,列表从索引0开始,这就是为什么必须从索引-1开始)

我想你的问题是,一旦玩家选择了一个数字,你就不知道如何访问所选的卡。在

如果是这样的话,你已经接近解决方案了!在

当播放器输入一个数字时,您将它作为一个字符串存储在pick变量中。接下来的步骤是:

  1. 将该字符串转换为整数,然后
  2. 在牌堆的那个位置找到牌。在

Python有一个built-in ^{} function,用于将pick从字符串转换为整数。在

您的deck变量是一个列表,要从Python中的列表中获取项,可以按索引请求该项。索引是表示该项位置的数字:

animals = ["cat", "dog", "fish", "pterodactyl]
print(animals[0]) # "cat"
print(animals[1]) # "dog"
print(animals[2]) # "fish"

将此添加到代码中可以实现以下目的:

^{pr2}$

在我看来,你所需要做的就是访问所选的卡。在

chosen_card = deck[int(pick)-1]

你还需要做更多的事情吗?我通常认为您希望deck是(套装、等级)对的列表,而不是字符串描述。您可以用当前代码选择一个卡片描述,但是deck没有一个简单的方法将这些描述转换回您可以操作的特征。在

相关问题 更多 >

    热门问题