This is a follow-up to "*https://codereview.stackexchange.com/questions/215280/rock-paper-scissors-game*". I did almost everything the answers recommended and I hope you like it. import os from random import choice def player_choice(): while True: print("Rock, paper or scissors?") choice = input(">").capitalize() if choice in ('Rock', 'Paper', 'Scissors'): return choice def win_msg(player_choice, computer_choice): msg = f"{player_choice} beats {computer_choice}. You won!" return msg def lose_msg(player_choice, computer_choice): msg = f"{computer_choice} beats {player_choice}. You lost!" return msg def computer_choice(): return choice(('Rock', 'Paper', 'Scissors')) def show_statistics(scores): os.system('cls' if os.name == 'nt' else 'clear') print(f"Wins: {scores[0]}\nLosses: {scores[1]}\nDraws: {scores[2]}") def game_outcome(player, computer): if player == computer: return 'Draw' elif player == 'Rock': if computer == 'Paper': return 'Lose' else: return 'Win' elif player == 'Paper': if computer == 'Rock': return 'Win' else: return 'Lose' else: if computer == 'Rock': return 'Lose' else: return 'Win' def show_results(outcome, player, computer): if outcome == 'Win': print(win_msg(player, computer)) elif outcome == 'Lose': print(lose_msg(player, computer)) else: print("Draw. Nobody wins or losses.") def update_scores(scores, outcome): new_scores = list(scores) if outcome == 'Win': new_scores[0] += 1 elif outcome == 'Lose': new_scores[1] += 1 else: new_scores[2] += 1 new_scores = tuple(new_scores) return new_scores def rock_paper_scissors(scores): player = player_choice() computer = computer_choice() outcome = game_outcome(player, computer) show_results(outcome, player, computer) new_scores = update_scores(scores, outcome) return new_scores def play_again(): while True: print("\nDo you want to play again?") print("(Y)es") print("(N)o") ans = input("> ").lower() if ans == 'y': return True elif ans == 'n': return False def starting_scores(): return 0, 0, 0 def main(): scores = starting_scores() still_playing = True while still_playing: show_statistics(scores) scores = rock_paper_scissors(scores) still_playing = play_again() if __name__ == '__main__': main()