#!/usr/bin/env python3 import argparse pusher = { 'A': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '20+', '8': '20+', '7': '20+', '6': '20+', '5': '20+', '4': '20+', '3': '20+', '2': '20+'}, 'K': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '20+', '8': '20+', '7': '20+', '6': '20+', '5': '20+', '4': '20+', '3': '19.9', '2': '19.3'}, 'Q': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '20+', '8': '20+', '7': '20+', '6': '20+', '5': '20+', '4': '16.3', '3': '13.5', '2': '12.7'}, 'J': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '20+', '8': '20+', '7': '20+', '6': '18.6', '5': '14.7', '4': '13.5', '3': '10.6', '2': '8.5'}, 'T': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '20+', '8': '20+', '7': '20+', '6': '20+', '5': '11.9', '4': '10.5', '3': '7.7', '2': '6.5'}, '9': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '20+', '8': '20+', '7': '20+', '6': '20+', '5': '14.4', '4': '6.9', '3': '4.9', '2': '3.7'}, '8': {'A': '20+', 'K': '18.0', 'Q': '13.0', 'J': '13.3', 'T': '17.5', '9': '20+', '8': '20+', '7': '20+', '6': '20+', '5': '18.8', '4': '10.1', '3': '2.7', '2': '2.5'}, '7': {'A': '20+', 'K': '16.1', 'Q': '10.3', 'J': '8.5', 'T': '9.0', '9': '10.8', '8': '14.7', '7': '20+', '6': '20+', '5': '20+', '4': '13.9', '3': '2.5', '2': '2.1'}, '6': {'A': '20+', 'K': '15.1', 'Q': '9.6', 'J': '6.5', 'T': '5.7', '9': '5.2', '8': '7.0', '7': '10.7', '6': '20+', '5': '20+', '4': '16.3', '3': '2.5', '2': '2.0'}, '5': {'A': '20+', 'K': '14.2', 'Q': '8.9', 'J': '6.0', 'T': '4.1', '9': '3.5', '8': '3.0', '7': '2.6', '6': '2.4', '5': '20+', '4': '20+', '3': '2.2', '2': '2.0'}, '4': {'A': '20+', 'K': '13.1', 'Q': '7.9', 'J': '5.4', 'T': '3.8', '9': '2.7', '8': '2.3', '7': '2.1', '6': '2.0', '5': '2.1', '4': '20+', '3': '1.8', '2': '1.8'}, '3': {'A': '20+', 'K': '12.2', 'Q': '7.5', 'J': '5.0', 'T': '3.4', '9': '2.5', '8': '1.9', '7': '1.8', '6': '1.7', '5': '1.8', '4': '1.6', '3': '20+', '2': '1.7'}, '2': {'A': '20+', 'K': '11.6', 'Q': '7.0', 'J': '4.6', 'T': '2.9', '9': '2.2', '8': '1.8', '7': '1.6', '6': '1.5', '5': '1.5', '4': '1.4', '3': '1.4', '2': '20+'}, } caller = { 'A': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '20+', '8': '20+', '7': '20+', '6': '20+', '5': '20+', '4': '20+', '3': '20+', '2': '20+'}, 'K': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '20+', '8': '17.6', '7': '15.2', '6': '14.3', '5': '13.2', '4': '12.1', '3': '11.4', '2': '10.7'}, 'Q': {'A': '20+', 'K': '20+', 'Q': '20+', 'J': '20+', 'T': '20+', '9': '16.1', '8': '13.0', '7': '10.5', '6': '9.9', '5': '8.9', '4': '8.4', '3': '7.8', '2': '7.2'}, 'J': {'A': '20+', 'K': '20+', 'Q': '19.5', 'J': '20+', 'T': '18.0', '9': '13.4', '8': '10.6', '7': '8.8', '6': '7.0', '5': '6.9', '4': '6.1', '3': '5.8', '2': '5.6'}, 'T': {'A': '20+', 'K': '20+', 'Q': '15.3', 'J': '12.7', 'T': '20+', '9': '11.5', '8': '9.3', '7': '7.4', '6': '6.3', '5': '5.2', '4': '5.2', '3': '4.8', '2': '4.5'}, '9': {'A': '20+', 'K': '17.1', 'Q': '11.7', 'J': '9.5', 'T': '8.4', '9': '20+', '8': '8.2', '7': '7.0', '6': '5.8', '5': '5.0', '4': '4.3', '3': '4.1', '2': '3.9'}, '8': {'A': '20+', 'K': '13.8', 'Q': '9.7', 'J': '7.6', 'T': '6.6', '9': '6.0', '8': '20+', '7': '6.5', '6': '5.6', '5': '4.8', '4': '4.1', '3': '3.6', '2': '3.5'}, '7': {'A': '20+', 'K': '12.4', 'Q': '8.0', 'J': '6.4', 'T': '5.5', '9': '5.0', '8': '4.7', '7': '20+', '6': '5.4', '5': '4.8', '4': '4.1', '3': '3.6', '2': '3.3'}, '6': {'A': '20+', 'K': '11.0', 'Q': '7.3', 'J': '5.4', 'T': '4.6', '9': '4.2', '8': '4.1', '7': '4.0', '6': '20+', '5': '4.9', '4': '4.3', '3': '3.8', '2': '3.3'}, '5': {'A': '20+', 'K': '10.2', 'Q': '6.8', 'J': '5.1', 'T': '4.0', '9': '3.7', '8': '3.6', '7': '3.6', '6': '3.7', '5': '20+', '4': '4.6', '3': '4.0', '2': '3.6'}, '4': {'A': '18.3', 'K': '9.1', 'Q': '6.2', 'J': '4.7', 'T': '3.8', '9': '3.3', '8': '3.2', '7': '3.2', '6': '3.3', '5': '3.5', '4': '20+', '3': '3.8', '2': '3.4'}, '3': {'A': '16.6', 'K': '8.7', 'Q': '5.9', 'J': '4.5', 'T': '3.6', '9': '3.1', '8': '2.9', '7': '2.9', '6': '2.9', '5': '3.1', '4': '3.0', '3': '20+', '2': '3.3'}, '2': {'A': '15.8', 'K': '8.1', 'Q': '5.6', 'J': '4.2', 'T': '3.5', '9': '3.0', '8': '2.8', '7': '2.6', '6': '2.7', '5': '2.8', '4': '2.7', '3': '2.6', '2': '15.0'}, } def main(): parser = argparse.ArgumentParser(description="Poker hand coefficient and Nash calling info.") #parser.add_argument("cards", type=str, help="ex:AK") parser.add_argument("--cards", "-c", type=str, help="ex:AK") args = parser.parse_args() cards = args.cards try: cards[2] except IndexError: cards = cards + 'o' print("pusher: " + get_pusher(cards[0].upper(), cards[1].upper(), cards[2] == 's')) print("caller: " + get_call(cards[0].upper(), cards[1].upper(), cards[2] == 's')) def get_call(card1, card2, suited): if suited: if card1 < card2: card1, card2 = card2, card1 else: if card1 > card2: card1, card2 = card2, card1 return caller[card1][card2] def get_pusher(card1, card2, suited): if suited: if card1 < card2: card1, card2 = card2, card1 else: if card1 > card2: card1, card2 = card2, card1 return pusher[card1][card2] if __name__ == "__main__": main()