Python 有没有一种简单的方法可以给列表中的卡片一组分数?

Python 有没有一种简单的方法可以给列表中的卡片一组分数?,python,python-3.x,blackjack,playing-cards,Python,Python 3.x,Blackjack,Playing Cards,我的任务是用python创建一个非常简单的21点版本,在这个版本中,你问他们是否想玩,他们说是的,然后它会画一张牌,上面写着你选了牌后现在的点数,然后问你是否想再玩一次。我需要帮助实施计分制 我试着做一些if语句,如果列表中有一个数字,它会给它相同数量的分数,但我发现它不起作用 import random nummer = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "Kung", "Dam", "Knekt", "Ess"] kort =

我的任务是用python创建一个非常简单的21点版本,在这个版本中,你问他们是否想玩,他们说是的,然后它会画一张牌,上面写着你选了牌后现在的点数,然后问你是否想再玩一次。我需要帮助实施计分制

我试着做一些if语句,如果列表中有一个数字,它会给它相同数量的分数,但我发现它不起作用

import random

nummer = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "Kung", "Dam", 
"Knekt", "Ess"]
kort = ["♦", "♥", "♣", "♠"]
kortlek = []
for n in range(0, 4):
    for x in range(0, 13):
        kortlek.append(kort[n] + " " + nummer[x])

d_k = []

svar = input("Do you want to play? (y/n) ")

if svar == "y":
    drag = random.choice(kortlek)
    print("You got ", drag)
    d_k.append(drag)
    kortlek.remove(drag)
else:
    print("Bye")

基本上我想要它,这样在你画了一张牌后,它会告诉你总共有多少分。

正如@TigerhawkT3的评论中提到的,让kortlek成为一本字典,每张牌都有它的卡值就可以了

import random

nummer = ["Ess", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Knekt", "Dam", 
"Kung"] # Kung = king, dam = queen, knekt = jack, ess = ace (assumed)
kort = ["♦", "♥", "♣", "♠"]
kortlek = {} # (Card choice : Value) using dictionary
for n in range(0, 4): # Can remove "0, "
    for x in range(0, 13): # Can remove "0, "
        kortlek[kort[n] + " " + nummer[x]] = x + 1

d_k = []

svar = input("Do you want to play? (y/n) ")

if svar == "y":
    drag = random.choice(list(kortlek.keys()))
    print("You got ", drag, "which has a card value of:", kortlek[drag])
    d_k.append(drag)
    del kortlek[drag]
else:
    print("Bye")
您可以美化输出并自己格式化,然后从这里继续。祝你好运

编辑:还要注意,在21点游戏中,Ace Ess可以是1或11。我没有帮助您编写代码,但您应该能够使用if循环实现它:


创建第二个数组点,保存每张卡2、3、…、ace的点,然后压缩kortlek循环中带有nummer的点,并使每张卡成为元组名称,点代替nummer是['2','3'…]的列表,使其成为{'2':2',3':3…}的字典。这将允许您查找每张卡的价值。这还将帮助您改进创建卡片组的循环,方法是循环使用nummer字典和kort列表本身,而不是循环使用它们的索引。切勿使用字符串表示数据,除非该数据是实际写入的文本,而卡片不是。使用数字表示卡片,只需将其转换为字符串即可输出。您将nummer作为列表保存,并将deck kortlek转换为字典。循环也没有被清理,你不认为ace是1或11,等等。是的,但我希望你能弄清楚:如果你不能,请随意在这里发布另一个问题/评论,我可以帮助你further@GarethMa我真的不喜欢寻求帮助,但我对python和一般的编码都是新手,您想告诉我如何实现ace功能吗?如果你想,我们可以明天讨论discord或其他事情,我一整天都有空,如果没有,也可以,但我真的很感谢你的帮助:是的,当然,你想启动discord服务器并在这里发布链接吗?