-
-
Save mjhea0/0a6b0bb6cc7557776ab8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
def base_strategy(): | |
return random.randrange(1, 10) | |
def computer_strategy(scores, player_answers, computer_answers, | |
total_iterations, current_iteration): | |
# ADD YOUR SOLUTION HERE | |
def compute_score(player_answer, computer_answer, scores): | |
if player_answer + 1 == computer_answer: | |
scores['computer'] += 2 | |
elif computer_answer + 1 == player_answer: | |
scores['player'] += 2 | |
elif player_answer < computer_answer: | |
scores['player'] += 1 | |
elif player_answer > computer_answer: | |
scores['computer'] += 1 | |
return scores | |
def calculate_winner(scores, outcomes): | |
if scores['player'] > scores['computer']: | |
outcomes['player'] += 1 | |
elif scores['computer'] > scores['player']: | |
outcomes['computer'] += 1 | |
else: | |
outcomes['ties'] += 1 | |
return outcomes | |
# run! | |
if __name__ == '__main__': | |
iterations = 100 | |
scores = {'player': 0, 'computer': 0} | |
outcomes = {'player': 0, 'computer': 0, 'ties': 0} | |
player_nums = [] | |
computer_nums = [] | |
for x in range(0, iterations): | |
while scores['player'] < 5 and scores['computer'] < 5: | |
player_answer = base_strategy() | |
computer_answer = computer_strategy( | |
scores, player_nums, computer_nums, iterations, x) | |
player_nums.append(player_answer) | |
computer_nums.append(computer_answer) | |
compute_score(player_answer, computer_answer, scores) | |
calculate_winner(scores, outcomes) | |
scores = {'player': 0, 'computer': 0} | |
player_nums = [] | |
computer_nums = [] | |
print('Results - Player {0}, Computer {1}, Tie {2}'.format( | |
outcomes['player'], outcomes['computer'], outcomes['ties'])) |
I think there will never be tie games even both players have the exactly same strategy given the game runner logic.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@MAGNUMpt Yes, you are right.