gpt4 book ai didi

python - 我如何向 Python 中的列表添加限制或规则?

转载 作者:行者123 更新时间:2023-11-28 21:27:51 26 4
gpt4 key购买 nike

我正在做一个单人纸牌程序,它应该在 Python shell 而不是 GUI 中运行。但我不太确定如何对卡片进行编程,以便可以将 Red Suit 附加到 Black Suit 上,反之亦然。此外,要添加的卡的编号必须小于之前的卡。

我想用于向行堆栈添加限制的程序可能类似于用于向花色堆栈添加限制的程序。如果不同,你能不能也给我一些帮助?因为我快要完成项目了,但我只需要添加规则。

我试图弄清楚我该怎么做,但它看起来很复杂。

def check(card1,card2):
valid = True
cardSuit = Card1[1]
cardVal = card1[0]

if cardSuit2 == cardSuit[1]:
valid = False

elif value(CardVal1) > value(cardVal2):
valid = False

elif valid == False:
# print Error Message

return valid

# Function to call above function
def call():
ok = check(card1,card2)
if ok = True:
# proceed with code

def value(str):
if val is (2,3,4,5,6,7,8,9,10):
denon = int(val)
elif val = 'J':
denon = 11
elif val = 'Q':
denon = 12
elif val = 'K':
denon = 13

return denon

谢谢。

最佳答案

这是一种可能性。它在数据方面并不完全干净,但可能会给你一个想法。但是,我想您在复制之前最好能很好地理解该示例。如前所述,这与您最初的想法有很大不同;)

CARD_VALUES=["2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
SUIT_COLOR={"clubs": "black", "spades":"black", "hearts":"red", "diamonds":"red"}


class Card:
def __init__(self, value, suit):
if value not in CARD_VALUES:
raise Exception("Invalid card value {}".format(value))

if suit not in SUIT_COLOR:
raise Exception("Invalid suit {}".format(suit))

self.value = value
self.suit = suit

def suit_color(self):
return SUIT_COLOR[self.suit]

def card_value(self):
return CARD_VALUES.index(self.value)

def __repr__(self):
return "({} of {})".format(self.value, self.suit)


class Row:
def __init__(self):
self.cards=[]

def valid_add_card(self, card):
if not self.cards:
return True # true for empty deck

last_card=self.cards[-1]
return last_card.card_value()==card.card_value()+1 and last_card.suit_color()!=card.suit_color()

def add_card(self, card):
if self.valid_add_card(card):
self.cards.append(card)
else:
raise Exception("Cannot add card {} to {}".format(card, self.cards[-1]))

def __repr__(self):
return " - ".join(str(c) for c in self.cards)


r=Row()
r.add_card(Card("J", "spades"))
r.add_card(Card("10", "hearts"))
r.add_card(Card("9", "clubs"))
print(r)
print("Last card won't work:")
r.add_card(Card("8", "spades"))

关于python - 我如何向 Python 中的列表添加限制或规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9675709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com