2013-04-06 30 views
0

我正在制作一张纸片游戏,里面输入7张牌。 A,2,3,4,5,6,7,8,9,T,J,Q,K是卡的编号。 和S,H,C,D是西装(黑桃,心,俱乐部,钻石) Ex。 8H是8Python帮助:如何查找3个或4个字符串在7个字符串列表中是否相同?

代码的心中:

card1, card2, card3, card4, card5, card6, card7 = input('1. ').split(', ') 

c1p1, c1p2 = card1[:-1], card1[1:] 

c2p1, c2p2 = card2[:-1], card2[1:] 

c3p1, c3p2 = card3[:-1], card3[1:] 

c4p1, c4p2 = card4[:-1], card4[1:] 

c5p1, c5p2 = card5[:-1], card5[1:] 

c6p1, c6p2 = card6[:-1], card6[1:] 

c7p1, c7p2 = card7[:-1], card7[1:] 

林拆分用户从卡号和西装的条目。 这个程序的目的是要找到他们是3至4卡有相同的数字,但我不知道如何比较所有7个数字,以发现他们是否相等3-4。

任何帮助将不胜感激,谢谢:)

+0

我不知道这是最好的方式,但其中一个方案是递归减少在列表中,用一个lambda检查平等TH第一个字符串。 – 2013-04-06 19:28:05

回答

0

我会用字典来算出现了一批次,试试下面的一段代码:

def method(): 
    cards_string = "8H,3S,4H,7D,5C,JH,AS" 
    cards = cards_string.split(',') 
    card_numbers_count = {'A':0, '2':0, '3':0, '4':0, '5':0, '6':0, '7':0, '8':0, '9':0, '10':0, 'J':0, 'Q':0, 'K':0} 

    for card in cards: 
     card_number = card[:-1] 
     card_numbers_count[card_number] += 1 

    print card_numbers_count 


if __name__ == "__main__": 
    method() 
+0

非常感谢!这真的有帮助。 – zara 2013-04-06 19:52:40

+0

@ user2224963接受答案是一种很好的做法,这种方式不会一直没有答案。 – PepperoniPizza 2013-04-06 23:12:39

+0

im stackoverflow的新功能,所以我不太清楚该怎么做:\ – zara 2013-04-07 16:44:23

0

,你可以使用类似 list.count(listElement)

for item in list: 
    c= list.count(item) 
    if c>3: 
     print "card %s is more than 3 times"%item 
相关问题