Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting Python帮助:如何在7个字符串的列表中查找3个或4个字符串是否相同?_Sorting_Python 3.x_Compare - Fatal编程技术网

Sorting Python帮助:如何在7个字符串的列表中查找3个或4个字符串是否相同?

Sorting Python帮助:如何在7个字符串的列表中查找3个或4个字符串是否相同?,sorting,python-3.x,compare,Sorting,Python 3.x,Compare,我正在创建一个拉米游戏,我在其中输入7张牌。 A、 2,3,4,5,6,7,8,9,T,J,Q,K是卡的编号。 S、H、C、D是套装(黑桃、红桃、梅花、钻石) 8小时是8的心 代码: Im将用户的输入从卡号和套装中分离出来。 这个程序的目标是找出它们是否是3-4张数字相同的卡,但我不知道如何比较所有7个数字,以找出它们中的3-4张是否相等 任何帮助都将不胜感激,谢谢:)您可以使用 list.count(listElement) 我会使用字典计算数字出现的次数,请尝试以下代码: def metho

我正在创建一个拉米游戏,我在其中输入7张牌。 A、 2,3,4,5,6,7,8,9,T,J,Q,K是卡的编号。 S、H、C、D是套装(黑桃、红桃、梅花、钻石) 8小时是8的心

代码:

Im将用户的输入从卡号和套装中分离出来。 这个程序的目标是找出它们是否是3-4张数字相同的卡,但我不知道如何比较所有7个数字,以找出它们中的3-4张是否相等

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

您可以使用 list.count(listElement)


我会使用字典计算数字出现的次数,请尝试以下代码:

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()

我不确定这是不是最好的方法,但一个选择是递归地减少列表,用lambda检查第一个字符串的相等性。非常感谢!这真的很有帮助。@user2224963接受答案是一个很好的做法,这样它就不会一直没有答案。我是stackoverflow的新手,所以我不太确定该怎么做:\
for item in list:
    c= list.count(item)
    if c>3:
        print "card %s is more than 3 times"%item
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()