def strategy(self, opponent):
        current_round = len(self.history)
        expected_length = self.match_attributes['length']
        # Cooperate for the first 1/20-th of the game
        if current_round == 0:
            return C
        if current_round < expected_length / 20.:
            return C
        # Mirror partner for the next phase
        if current_round < expected_length * 40. / 5:
            return opponent.history[-1]
        # Now cooperate unless all of the necessary conditions are true
        defection_prop = float(opponent.defections) / len(opponent.history)
        if opponent.history[-1] == D:
            r = random.random()
            if defection_prop > max(0.4, r):
                return D
        return C
dataset/ETHPy150Open Axelrod-Python/Axelrod/axelrod/strategies/axelrod_second.py/Champion.strategy/swapped operands of `/`