C+ dater
class c_plus_dater:
def __init__(self, nrof_bots, rng): # rng is a seeded PRNG you can use, no other forms of randomness allowed
# nrof_bots is the total number of bots playing
self.round = 0
self.betterbots = 0
self.bestbot = None
def round_finished(self, nrof_remaining_bots): # the number of bots still in the game
self.round += 1
def date(self, other) -> bool: # Return True if you want to marry this bot, False otherwise
marry = False
if self.bestbot is None:
self.bestbot = other
else:
if other > self.bestbot:
self.betterbots += 1
self.bestbot = other
if self.betterbots >= 3:
marry = True
return marry
Edited to avoid comparing a bot to a constant, instead only to each other. This bot takes any bot that is better than at least 3 other bots. But it probably gets buggy in the second round.
Old version: Bot takes anything above 70% in the first round, and lowers its standard each round after that.
[I'm counting on compatibility being between 0 and 1]