-
-
Save oindrillac/d25d55e408d81cf7c2ad72c8818a7b0b 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 | |
Rprob = 0.0 | |
Sprob = 0.0 | |
Pprob = 0.0 | |
rock = 0.0 | |
scissor = 0.0 | |
paper = 0.0 | |
total = 0 | |
userscore = 0 | |
computerscore = 0 | |
def play(Userplay, Compplay): | |
global userscore | |
global computerscore | |
if Userplay == Compplay: | |
userscore = userscore + 1 | |
computerscore = computerscore + 1 | |
print("Computer : " + str(Compplay) + "\n Tie! \n" "Score ( You|Computer ) :" + str(userscore) + "|" + str(computerscore)) | |
elif Userplay == "R" and Compplay == "P": | |
computerscore = computerscore + 1 | |
print("Computer : " + str(Compplay) + "\n You Lose! \n" "Score ( You|Computer ) :" + str(userscore) + "|" + str(computerscore)) | |
elif Userplay == "P" and Compplay == "R": | |
userscore = userscore + 1 | |
print("Computer : " + str(Compplay) + "\n You Win! \n" "Score ( You|Computer ) :" + str(userscore) + "|" + str(computerscore)) | |
elif Userplay == "S" and Compplay == "R": | |
computerscore = computerscore + 1 | |
print("Computer : " + str(Compplay) + "\n You Lose! \n" "Score ( You|Computer ) :" + str(userscore) + "|" + str(computerscore)) | |
elif Userplay == "S" and Compplay == "P": | |
computerscore = computerscore + 1 | |
print("Computer : " + str(Compplay) + "\n You Lose! \n" "Score ( You|Computer ) :" + str(userscore) + "|" + str(computerscore)) | |
elif Userplay == "R" and Compplay == "S": | |
userscore = userscore + 1 | |
print("Computer : " + str(Compplay) + "\n You Win! \n" "Score ( You|Computer ) :" + str(userscore) + "|" + str(computerscore)) | |
elif Userplay == "P" and Compplay == "S": | |
computerscore = computerscore + 1 | |
print("Computer : " + str(Compplay) + "\n You Lose! \n" "Score ( You|Computer ) :" + str(userscore) + "|" + str(computerscore)) | |
def probability(count,total): | |
if total == 0: | |
total = 1 | |
return float(count/total) | |
def computernext(input): | |
global Rprob | |
global Sprob | |
global Pprob | |
global rock | |
global scissor | |
global paper | |
global total | |
if input == 'R': | |
rock += 1 | |
total += 1 | |
elif input == 'P': | |
paper += 1 | |
total += 1 | |
elif input == 'S': | |
scissor += 1 | |
total += 1 | |
Rprob = probability(rock, total) | |
Sprob = probability(scissor, total) | |
Pprob = probability(paper, total) | |
if max(Rprob, Sprob, Pprob) == Rprob: | |
return 'P' | |
elif max(Rprob, Sprob, Pprob) == Sprob: | |
return 'R' | |
elif max(Rprob, Sprob, Pprob) == Pprob: | |
return 'S' | |
if __name__ == "__main__": | |
game_set = ['R', 'P', 'S'] | |
firsttime = True | |
num = 0 | |
nextmove = random.choice(game_set) | |
n = int(input("How many times would you want to play : ")) | |
while(num <= n): | |
usermove = input("\n Please choose from [R,P,S] : ") | |
if(firsttime == True): | |
firsttime = False | |
computermove = random.choice(game_set) | |
play(usermove,computermove) | |
else: | |
play(usermove,nextmove) | |
nextmove = computernext(usermove) | |
num = num + 1 | |
print("\n************************************\n Your score is : "+str(userscore)+ "\n Computer score is : "+str(computerscore)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment