Reputation: 1
I have started to work on this program that should play Rock, Paper Scissors against you. I have tried different models and this one is the closest one. The only problem is that it has a syntax error that I have no idea how to fix.
#Macchiat0
#3, 6, 2016
#3. RPS is played between the computer and a single user.
#The player is prompted for a throw when 1 corresponds
#to Rock, 2 to Paper, and 3 to Scissors.
#A random number between 1 and 3 is generated for the computer throw.
#The winner is determined based on the rules of Rock Paper and Scissors.
#Program Menu
import random
end_game = True
while end_game == True:
print('1. Enter 1 for Rock ')
print('2. Enter 2 for Paper ')
print('3. Enter 3 for Scissors ')
print('4. Quit')
ans = int(input('What do you want to do?: '))
if ans=="1":
print("\n Enter 1 for Rock: ")
if Player game = 1
print('You win')
if Player game = 2
print('You loose')
if Player game = 3
print('You draw')
if ans =="2":
print("\n Enter 2 for Paper: ")
if Player game = 1
print('You win')
if Player game = 2
print('You loose')
if Player game = 3
print('You draw')
if ans =="3":
print("\n Enter 3 for Scissors: ")
if Player game = 1
print('You win')
if Player game = 2
print('You loose')
if Player game = 3
print('You draw')
elif ans=="4":
print("\n Goodbye")
break
else:
print("\n Not Valid Choice Try Again")
Upvotes: 0
Views: 68
Reputation: 1397
Just few to notice. The real answer is to check the output when you run the script. It will tell you what's wrong.
Your question is not be best for SO and someone might hang me for doing this but... hell, it's friday! Here you go:
import random
end_game = False
def intToRPS(i):
if i == 1:
return 'Rock'
elif i == 2:
return 'Paper'
elif i == 3:
return 'Scissors'
return ''
while end_game == False:
print('1. Enter 1 for Rock ')
print('2. Enter 2 for Paper ')
print('3. Enter 3 for Scissors ')
print('4. Quit')
ans = int(input('What do you want to do?: '))
comp = random.randint(1, 3)
if ans > 0 and ans < 4:
msg = 'You chose ' + intToRPS(ans) + ' and computer chose ' + intToRPS(comp)
print(msg)
if ans == comp:
print('Draw')
elif ans == 1 and comp == 2: #Rock vs Paper
print('You loose')
elif ans == 1 and comp == 3: #Rock vs Scissors
print('You win')
elif ans == 2 and comp == 1: #Paper vs Rock
print('You win')
elif ans == 2 and comp == 3: #Paper vs Scissors
print('You loose')
elif ans == 3 and comp == 1: #Scissors vs Rock
print('You loose')
elif ans == 3 and comp == 2: #Scissors vs Paper
print('You win')
elif ans=="4":
print("\n Goodbye")
end_game = True
break
else:
print("\n Not Valid Choice Try Again")
Upvotes: 2