-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathP054.py
More file actions
76 lines (73 loc) · 2.91 KB
/
P054.py
File metadata and controls
76 lines (73 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# -*- coding: utf-8 -*-
#==============================================================================
# In the card game poker, a hand consists of five cards and are ranked,
# from lowest to highest, in the following way:
#
# High Card: Highest value card.
# One Pair: Two cards of the same value.
# Two Pairs: Two different pairs.
# Three of a Kind: Three cards of the same value.
# Straight: All cards are consecutive values.
# Flush: All cards of the same suit.
# Full House: Three of a kind and a pair.
# Four of a Kind: Four cards of the same value.
# Straight Flush: All cards are consecutive values of same suit.
# Royal Flush: Ten, Jack, Queen, King, Ace, in same suit.
# The cards are valued in the order:
# 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, Ace.
#
# If two players have the same ranked hands then the rank made up
# of the highest value wins; for example, a pair of eights beats a
# pair of fives (see example 1 below). But if two ranks tie,
# for example, both players have a pair of queens, then highest
# cards in each hand are compared (see example 4 below);
# if the highest cards tie then the next highest cards are
# compared, and so on.
#
# Consider the following five hands dealt to two players:
#
# Hand Player 1 Player 2 Winner
#
# 1 5H 5C 6S 7S KD 2C 3S 8S 8D TD Player 2
# Pair of Fives Pair of Eights
#
# 2 5D 8C 9S JS AC 2C 5C 7D 8S QH Player 1
# Highest card Ace Highest card Queen
#
# 3 2D 9C AS AH AC 3D 6D 7D TD QD Player 2
# Three Aces Flush with Diamonds
#
# 4 4D 6S 9H QH QC 3D 6D 7H QD QS Player 1
# Pair of Queens Pair of Queens
# Highest card Nine Highest card Seven
#
# 5 2H 2D 4C 4D 4S 3C 3D 3S 9S 9D Player 1
# Full House Full House
# With Three Fours with Three Threes
#
# The file, poker.txt, contains one-thousand random hands dealt to
# two players. Each line of the file contains ten cards
# (separated by a single space): the first five are
# Player 1's cards and the last five are Player 2's cards.
# You can assume that all hands are valid (no invalid characters
# or repeated cards), each player's hand is in no specific order,
# and in each hand there is a clear winner.
#
# How many hands does Player 1 win?
#==============================================================================
import P054Poker
# Define function to import data files obtained from machine
def PokerWinner(filename):
# Open the file
openfile = open(filename, 'rb')
# CSV reader, comma seperated, keeping second column only
lines = [line.strip().split(" ") for line in openfile]
Wins = 0
for line in lines:
P1_hand = line[0:5]
P2_hand = line[5:10]
#print P1_hand, P2_hand
if P054Poker.poker([P1_hand, P2_hand])==[P1_hand]:
Wins += 1
return Wins
print PokerWinner('P054poker.txt')