from machine import Machine, maxBitSize
from random import randrange

class FaultedMachine(Machine):

    def __init__(self, code, faults_set = None):
        super().__init__(code)
        if faults_set:
            self.faults_set = set(faults_set)
        else:
            self.faults_set = set()

    def executeInstruction(self):
        if not self.nbInstruction in self.faults_set:
            super().executeInstruction()
        else:
            self.faults_set.remove(self.nbInstruction)