给出输入
Guess='1 5K'
和一个清单
playable=['AC','QS','5S','5K','KC']
我如何确定Guess的'5K'部分是否可以播放?此外,如果它是可玩的,我将如何确定其左侧的项目1是否具有“5”或“K”。所以可玩性会变成
playable=['AC','QS','5K','KC']
用'5K'代替'5S'。 到目前为止我已经
了def oneC(Guess):
split_em=Guess.split() ##splits at space
card_guess=split_em[1] ##gets the '5K' part of string
if card_guess is in playable:
##Confusion Area
index1=playable.index(card_guess) ##Finds index of '5K'
index_delete= del playable[index1-1] ##Deletes item to the left of '5K'
我现在的问题是我不知道如何判断左边的一个位置是否有'5'或'K'。有没有办法将'5K'变成一组('5','K')然后将元素向左转一个点到('5','S')并在它们上运行交集?我在手机上写了这个,因为我的互联网在我的家里,所以很抱歉任何混乱或拼写错误。谢谢你的时间!
答案 0 :(得分:0)
您可以将项目中的字符迭代到左侧,看看是否有“5”或“K”:
index1 = playable.index(card_guess)
if any(c in playable[index1 - 1] for c in card_guess):
del playable[index1]
请注意,上述代码不会检查index1 == 0
的情况,因此您必须定义当猜测的卡片是列表中的第一张卡片时会发生什么。
所以回答你的问题:for c in card_guess
遍历"5K"
中的字符('5'
和'K'
,然后检查playable[index1 - 1]
中是否有任何字符"5K"
1}},这是{{1}})左侧的项目。