ハートゲームのプログラミングをしていますが、各カードのすべてのスコアを計算する方法について混乱しています これは値を持つカードで、他のカードは値が 0 です
>>> card_value ={"QS":13,"2H":1,"3H":1,"4H":1,"5H":1,"6H":1,"7H":1,"8H":1,"9H":1,"0H":1,"JH":1,"QH":1,"KH":1,"AH":1,"0D": -10}
しかし、リスト セットのすべてのサブ リストにハートが含まれている場合、スコアは -26 になり、リスト セットのすべてのサブ リストにハートと 10 個のダイヤモンド ("0D") が含まれている場合、スコアは -36 になります。
例
>>> list1 = [['QD', '7D', '5H', '0D'], ['7C', '6D', '2H', 'KS'], ['8S', '3D', '9C', 'KD'], ['4D', '9D', 'KH', '4C'],['7S', 'JH', '4H', 'QC'], ['2S', 'KC', 'AD', 'AC'], ['JD', '8D', 'QS', '6H'], ['AH', '9H', '9S', '6S'],['5S', '0S', 'JC', '2D'],['5D', '8H', '0C', '7H'], ['JS', '6C', '2C', 'AS'], ['3S', '4S', '5C', '0H'], ['3C', 'QH', '3H', '8C']]
これからの出力は-36になります
>>> list2 = ["5C","QS","JH"]
これからの出力は14になります
これは私がこれまでに試したことです:
def score(list,score=0):
for cards in list:
if cards in card_value.keys():
score += card_value[cards]
if cards == "H":
score = -36
if cards == "H" or "0D":
score = -26
return score