2013-04-06 2 views
0

나는 7 장의 카드를 넣는 러미 게임을 만들고 있습니다. A, 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K는 카드 번호입니다. 그리고 S, H, C, D는 슈트 (스페이드, 하트, 클럽, 다이아몬드)입니다. Ex.Python Help : 7 개의 문자열 목록에서 3 또는 4 개의 문자열이 동일한 지 확인하는 방법은 무엇입니까?

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:] 

임 분할 카드 번호와 소송에서 사용자의 입력 : 8H 8

코드의 마음입니다. 이 프로그램의 목적은 3 ~ 4 개의 동일한 번호를 가진 카드인지 확인하는 것입니다. 그러나 그 중 3-4 개가 같은지 알아보기 위해 7 개의 숫자를 모두 비교하는 방법을 모릅니다.

어떤 도움도 대단히 감사하겠습니다, 감사합니다 :)

+0

,하지만 하나의 옵션은 반복적으로 토륨 평등을 확인 람다와 함께 목록에 걸쳐 감소하는 것 첫 번째 문자열. –

답변

0

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

정말 고마워요! 이것은 정말로 도움이되었습니다. – zara

+0

@ user2224963 대답을 받아들이는 것이 좋은 습관입니다. 그런 식으로 답변을 얻지 못합니다. – PepperoniPizza

+0

im new to stackoverflow 어떻게 그렇게 해야할지 모르겠다 : \ – zara

0

당신은 내가 숫자가 표시되는 시간을 계산하기 위해 사전을 사용

for item in list: 
    c= list.count(item) 
    if c>3: 
     print "card %s is more than 3 times"%item 
관련 문제