New to python and coded a simple rock, paper scissors game below. Why does the scores show after entering q while running it in visual studio code but this doesn't happen after entering q while opening the file.
import random
user_wins = 0
computer_wins = 0
options = ["rock", "paper", "scissors"]
while True:
user_input = input("Type Rock/Paper/Scissors or Q to quit: ").lower()
if user_input == "q":
break
if user_input not in options:
continue
random_number = random.randint(0, 2)
# Rock: 0 Paper: 1 Scissors: 2
computer_pick = options[random_number]
print("Computer picked", computer_pick ".")
if user_input == "rock" and computer_pick == "scissors":
print("You Won!")
user_wins = 1
elif user_input == "paper" and computer_pick == "rock":
print("You Won!")
user_wins = 1
elif user_input == "scissors" and computer_pick == "paper":
print("You Won!")
user_wins = 1
elif user_input == computer_pick:
print ("It's a Draw")
else:
print("You lose")
computer_wins = 1
print("You won", user_wins, "rounds!")
print("The Computer won", computer_wins,"rounds!")`
print("Thank you for playing")
CodePudding user response:
When opening a program as a file, the window will immediately close when the code ends - this means that as soon as q is entered, the program exits the while loop, shows the scores and closes instantly after, leaving no time for you to read it. Visual studio code doesn't have a window to close, leaving the text able to be read.
To fix this, you can add input()
at the end of the code, meaning that the user would have to press enter to end the program.