Author | Llewellyn Strydom |
Submission date | 2019-02-19 12:26:48.828710 |
Rating | 4874 |
Matches played | 256 |
Win rate | 46.09 |
Use rpsrunner.py to play unranked matches on your computer.
import random
sequences = [['R', 'R', 'R', 'R'], ['R', 'R', 'R', 'P'], ['R', 'R', 'R', 'S'], ['R', 'R', 'P', 'R'],
['R', 'R', 'P', 'P'], ['R', 'R', 'P', 'S'], ['R', 'R', 'S', 'R'], ['R', 'R', 'S', 'P'],
['R', 'R', 'S', 'S'], ['R', 'P', 'R', 'R'], ['R', 'P', 'R', 'P'], ['R', 'P', 'R', 'S'],
['R', 'P', 'P', 'R'], ['R', 'P', 'P', 'P'], ['R', 'P', 'P', 'S'], ['R', 'P', 'S', 'R'],
['R', 'P', 'S', 'P'], ['R', 'P', 'S', 'S'], ['R', 'S', 'R', 'R'], ['R', 'S', 'R', 'P'],
['R', 'S', 'R', 'S'], ['R', 'S', 'P', 'R'], ['R', 'S', 'P', 'P'], ['R', 'S', 'P', 'S'],
['R', 'S', 'S', 'R'], ['R', 'S', 'S', 'P'], ['R', 'S', 'S', 'S'], ['P', 'R', 'R', 'R'],
['P', 'R', 'R', 'P'], ['P', 'R', 'R', 'S'], ['P', 'R', 'P', 'R'], ['P', 'R', 'P', 'P'],
['P', 'R', 'P', 'S'], ['P', 'R', 'S', 'R'], ['P', 'R', 'S', 'P'], ['P', 'R', 'S', 'S'],
['P', 'P', 'R', 'R'], ['P', 'P', 'R', 'P'], ['P', 'P', 'R', 'S'], ['P', 'P', 'P', 'R'],
['P', 'P', 'P', 'P'], ['P', 'P', 'P', 'S'], ['P', 'P', 'S', 'R'], ['P', 'P', 'S', 'P'],
['P', 'P', 'S', 'S'], ['P', 'S', 'R', 'R'], ['P', 'S', 'R', 'P'], ['P', 'S', 'R', 'S'],
['P', 'S', 'P', 'R'], ['P', 'S', 'P', 'P'], ['P', 'S', 'P', 'S'], ['P', 'S', 'S', 'R'],
['P', 'S', 'S', 'P'], ['P', 'S', 'S', 'S'], ['S', 'R', 'R', 'R'], ['S', 'R', 'R', 'P'],
['S', 'R', 'R', 'S'], ['S', 'R', 'P', 'R'], ['S', 'R', 'P', 'P'], ['S', 'R', 'P', 'S'],
['S', 'R', 'S', 'R'], ['S', 'R', 'S', 'P'], ['S', 'R', 'S', 'S'], ['S', 'P', 'R', 'R'],
['S', 'P', 'R', 'P'], ['S', 'P', 'R', 'S'], ['S', 'P', 'P', 'R'], ['S', 'P', 'P', 'P'],
['S', 'P', 'P', 'S'], ['S', 'P', 'S', 'R'], ['S', 'P', 'S', 'P'], ['S', 'P', 'S', 'S'],
['S', 'S', 'R', 'R'], ['S', 'S', 'R', 'P'], ['S', 'S', 'R', 'S'], ['S', 'S', 'P', 'R'],
['S', 'S', 'P', 'P'], ['S', 'S', 'P', 'S'], ['S', 'S', 'S', 'R'], ['S', 'S', 'S', 'P'],
['S', 'S', 'S', 'S']]
mI6wslpJpf = ['P','P','S','P','S','R','P','P','R','S','S','S','P','S','P','R','S','P'
,'S','P','R','S','R','R','R','P','R','P','S','S','P','R','R','P','R','R'
,'S','S','S','R','S','P','P','S','P','S','S','R','S','P','R','S','S','R'
,'P','R','P','P','S','S','P','S','R','R','S','P','R','S','R','P','S','R'
,'S','R','R','R','S','R','P','P','R']
if input == '':
history = ['X'] * 4
output = random.choice(['R', 'P', 'S'])
else:
history.pop(0)
history.append(input)
try:
index = sequences.index(history)
output = mI6wslpJpf[index]
except:
output = random.choice(['R', 'P', 'S'])
history.pop(0)
history.append(output)
not_lose = {'R': ['R', 'S'], 'P': ['P', 'S'], 'S': ['S', 'R']}
weights=[0.8, 0.2]
choices = sum([[element] * int(weight * 100)for element, weight in zip(not_lose[output], weights)], [])
output = random.choice(choices)