From a46449cc2d53eddf6a65e7baa20036cc29c6d315 Mon Sep 17 00:00:00 2001 From: Atul Chandra Date: Tue, 22 Jul 2025 23:40:35 +0530 Subject: [PATCH 1/3] changed the code --- stone-paper-sssc.py | 71 ++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 46 deletions(-) diff --git a/stone-paper-sssc.py b/stone-paper-sssc.py index 47c766f..1b0857f 100644 --- a/stone-paper-sssc.py +++ b/stone-paper-sssc.py @@ -1,59 +1,38 @@ -import random, sys +import random +import sys print("Let's Play ROCK PAPER SCISSORS GAME!") -wins = 0 -losses = 0 -ties = 0 +wins = losses = ties = 0 + +move_names = {'R': 'ROCK', 'P': 'PAPER', 'S': 'SCISSORS'} +valid_moves = ['R', 'P', 'S'] while True: - print("Current streak: %s Wins, %s Losses, %s Ties" % (wins, losses, ties)) - while True: - print("Type 'Q' to quit \n'R' for ROCK, 'P' for PAPER, 'S' for SCISSORS") - playermove = input().upper() - if playermove == "Q": - sys.exit() - if playermove == "R" or playermove == "P" or playermove == "S": - break - - if playermove == "R": - print("ROCK versus...") - if playermove == "P": - print("PAPER versus...") - if playermove == "S": - print("SCISSORS versus...") - - randomNum = random.randint(1, 3) - if randomNum == 1: - compMove = "R" - print("ROCK") - if randomNum == 2: - compMove = "P" - print("PAPER") - if randomNum == 3: - compMove = "S" - print("SCISSORS") + print(f"\nCurrent streak: {wins} Wins, {losses} Losses, {ties} Ties") + playermove = input("Type 'Q' to quit | 'R' for ROCK | 'P' for PAPER | 'S' for SCISSORS: ").strip().upper() + + if playermove == 'Q': + print("Thanks for playing! Final Score:") + print(f"{wins} Wins, {losses} Losses, {ties} Ties") + sys.exit() + if playermove not in valid_moves: + print("Invalid input. Please choose R, P, or S.") + continue + + print(f"{move_names[playermove]} versus...") + + compMove = random.choice(valid_moves) + print(move_names[compMove]) if playermove == compMove: print("It's a tie!") ties += 1 - elif playermove == "R" and compMove == "P": - print("It's a loss!") - losses += 1 - elif playermove == "R" and compMove == "S": - print("It's a win!") - wins += 1 - elif playermove == "P" and compMove == "S": - print("It's a loss!") - losses += 1 - elif playermove == "P" and compMove == "R": + elif (playermove == 'R' and compMove == 'S') or \ + (playermove == 'P' and compMove == 'R') or \ + (playermove == 'S' and compMove == 'P'): print("It's a win!") wins += 1 - elif playermove == "S" and compMove == "R": + else: print("It's a loss!") losses += 1 - elif playermove == "S" and compMove == "P": - print("It's a win!") - wins += 1 - else: - print("Thanks for trying my game") From cd731be1e974197724624a65e5ae1c165e3a6c06 Mon Sep 17 00:00:00 2001 From: Atul Chandra Date: Wed, 23 Jul 2025 17:21:30 +0530 Subject: [PATCH 2/3] improved the logic --- stonePaperScissor.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 stonePaperScissor.py diff --git a/stonePaperScissor.py b/stonePaperScissor.py new file mode 100644 index 0000000..2b06d4a --- /dev/null +++ b/stonePaperScissor.py @@ -0,0 +1,38 @@ +import random +import sys + +print("🎮 Let's Play ROCK PAPER SCISSORS GAME! 🎮\n") + +wins = 0 +losses = 0 +ties = 0 +move_names = {'R': 'Rock', 'P': 'Paper', 'S': 'Scissors'} + +while True: + print("Current streak: %s Wins, %s Losses, %s Ties" % (wins, losses, ties)) + while True: + print("\nType 'Q' to quit") + print("'R' for ROCK, 'P' for PAPER, 'S' for SCISSORS") + playermove = input("Your move: ").upper() + if playermove == "Q": + print("Thanks for playing! Final score: %s Wins, %s Losses, %s Ties" % (wins, losses, ties)) + sys.exit() + if playermove in ['R', 'P', 'S']: + break + print("Invalid input! Please enter 'R', 'P', 'S' or 'Q'.") + + compMove = random.choice(['R', 'P', 'S']) + print("You chose:", move_names[playermove]) + print("Computer chose:", move_names[compMove]) + + if playermove == compMove:# i have shorten the overall logic + print("It's a tie!") + ties += 1 + elif (playermove == 'R' and compMove == 'S') or \ + (playermove == 'P' and compMove == 'R') or \ + (playermove == 'S' and compMove == 'P'): + print("You win!") + wins += 1 + else: + print("You lose!") + losses += 1 \ No newline at end of file From b182fd8054daea5eac0178dc8705660c17748c39 Mon Sep 17 00:00:00 2001 From: Atul Chandra Date: Thu, 31 Jul 2025 19:59:19 +0530 Subject: [PATCH 3/3] deleted --- stone-paper-sssc.py | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 stone-paper-sssc.py diff --git a/stone-paper-sssc.py b/stone-paper-sssc.py deleted file mode 100644 index 1b0857f..0000000 --- a/stone-paper-sssc.py +++ /dev/null @@ -1,38 +0,0 @@ -import random -import sys - -print("Let's Play ROCK PAPER SCISSORS GAME!") - -wins = losses = ties = 0 - -move_names = {'R': 'ROCK', 'P': 'PAPER', 'S': 'SCISSORS'} -valid_moves = ['R', 'P', 'S'] - -while True: - print(f"\nCurrent streak: {wins} Wins, {losses} Losses, {ties} Ties") - playermove = input("Type 'Q' to quit | 'R' for ROCK | 'P' for PAPER | 'S' for SCISSORS: ").strip().upper() - - if playermove == 'Q': - print("Thanks for playing! Final Score:") - print(f"{wins} Wins, {losses} Losses, {ties} Ties") - sys.exit() - if playermove not in valid_moves: - print("Invalid input. Please choose R, P, or S.") - continue - - print(f"{move_names[playermove]} versus...") - - compMove = random.choice(valid_moves) - print(move_names[compMove]) - - if playermove == compMove: - print("It's a tie!") - ties += 1 - elif (playermove == 'R' and compMove == 'S') or \ - (playermove == 'P' and compMove == 'R') or \ - (playermove == 'S' and compMove == 'P'): - print("It's a win!") - wins += 1 - else: - print("It's a loss!") - losses += 1