抽扑克牌

利用之前的程序,随机产生两手牌分给A,B两个人,检验两手牌的类型并根据概率评分(出现概率越低,得分越高),并宣布winner

import card_tests
import deal_and_test

def get_hands_of_10():
    deck = deal_and_test.build_deck()
    deal_and_test.shuffle(deck)
    hands = []
    for i in range(0,10):
        hands.append(deck[i])
    return hands

def return_rank(hand):
    if card_tests.is_straight_flush(hand):
        rank = 1
        return rank
    elif card_tests.is_4_of_a_kind(hand):
        rank = 2
        return rank
    elif card_tests.is_full_house(hand):
        rank = 3
        return rank
    elif card_tests.is_flush(hand):
        rank = 4
        return rank
    elif card_tests.is_straight(hand):
        rank = 5
        return rank
    elif card_tests.is_3_of_a_kind(hand):
        rank = 6
        return rank
    elif card_tests.is_2_pair(hand):
        rank = 7
        return rank
    elif card_tests.is_pair(hand):
        rank = 8
        return rank
    elif card_tests.is_high_card(hand):
        rank = 9
        return rank

def compare_rank(ten_hand):
    hand1 = ten_hand[:5]
    hand2 = ten_hand[5:]
    rank1 = return_rank(hand1)
    rank2 = return_rank(hand2)
    if rank1 < rank2:
        print('The winner is A')
    elif rank1 > rank2:
        print('The winner is B')
    else:
        print('Same rank')

def main():
    ten_hand = get_hands_of_10()
    compare_rank(ten_hand)



if __name__ == '__main__':
    main()

输出结果示例如下:

Hand contains high card
Hand contains one pair
The winner is B

 

你可能感兴趣的:(Python)