| Author | FreqAuthor | 
| Submission date | 2019-01-12 03:46:08.351771 | 
| Rating | 5894 | 
| Matches played | 259 | 
| Win rate | 58.69 | 
Use rpsrunner.py to play unranked matches on your computer.
from collections import defaultdict
import random
D = 3
if input == "":
	output = random.choice("RPS")
	my = output
	their = ""
	allcounts = defaultdict(lambda: defaultdict(int))
else:
	their += input
	if len(their) >= D+1:
		hist = ''.join(''.join(x) for x in zip(my, their))
		allcounts[hist[-2*(D+1):-2]][hist[-1]] += 1
		counts = allcounts[hist[-2*D:]]
		if counts["R"] > counts["P"] and counts["R"] > counts["S"]:
			output = "P"
		elif counts["P"] > counts["S"]:
			output = "S"
		else:
			output = "R"
	else:
		output = random.choice("RPS")
	my += output