From 2c3a56dae371c598a2bc608cf076bf85a943c4b7 Mon Sep 17 00:00:00 2001 From: Dhruv Manilawala Date: Thu, 24 Sep 2020 16:41:20 +0530 Subject: [PATCH 1/2] Add solution() for problem 54 of Project Euler --- project_euler/problem_54/sol1.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/project_euler/problem_54/sol1.py b/project_euler/problem_54/sol1.py index d36d3702d7c8..310a41340d3d 100644 --- a/project_euler/problem_54/sol1.py +++ b/project_euler/problem_54/sol1.py @@ -42,6 +42,8 @@ """ from __future__ import annotations +import os + class PokerHand(object): """Create an object representing a Poker Hand based on an input of a @@ -356,3 +358,24 @@ def __ge__(self, other): def __hash__(self): return object.__hash__(self) + + +def solution(): + # Solution for problem number 54 from Project Euler + # Input from poker_hands.txt file + answer = 0 + script_dir = os.path.abspath(os.path.dirname(__file__)) + poker_hands = os.path.join(script_dir, "poker_hands.txt") + with open(poker_hands, "r") as file_hand: + for line in file_hand: + player_hand = line[:14].strip() + opponent_hand = line[15:].strip() + player, opponent = PokerHand(player_hand), PokerHand(opponent_hand) + output = player.compare_with(opponent) + if output == "Win": + answer += 1 + return answer + + +if __name__ == "__main__": + solution() From b2cc93839356617829b0dc52d436808d03134b9f Mon Sep 17 00:00:00 2001 From: Dhruv Date: Thu, 24 Sep 2020 16:46:42 +0530 Subject: [PATCH 2/2] Add type hints for solution() function --- project_euler/problem_54/sol1.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_euler/problem_54/sol1.py b/project_euler/problem_54/sol1.py index 310a41340d3d..4d75271784de 100644 --- a/project_euler/problem_54/sol1.py +++ b/project_euler/problem_54/sol1.py @@ -360,7 +360,7 @@ def __hash__(self): return object.__hash__(self) -def solution(): +def solution() -> int: # Solution for problem number 54 from Project Euler # Input from poker_hands.txt file answer = 0