def add_variables(self, variables, cardinality, inhibitor_probability):
        if len(variables) == 1:
            if not isinstance(inhibitor_probability[0], (list, tuple)):
                inhibitor_probability = [inhibitor_probability]

        if len(variables) != len(cardinality):
            raise ValueError("Size of variables and cardinality should be same")
        elif any(cardinal != len(prob_array) for prob_array, cardinal in zip(inhibitor_probability, cardinality)) or \
                len(cardinality) != len(inhibitor_probability):
            raise ValueError("Size of variables and inhibitor_probability should be same")
        elif not all(0 <= item <= 1 for item in chain.from_iterable(inhibitor_probability)):
            raise ValueError("Probability values should be between 0 and 1(both inclusive).")
        else:
            self.variables = np.concatenate((self.variables, variables))
            self.cardinality = np.concatenate((self.cardinality, cardinality))
            self.inhibitor_probability.extend(inhibitor_probability)
Adds variables to the NoisyOrModel.
dataset/ETHPy150Open pgmpy/pgmpy/pgmpy/models/NoisyOrModel.py/NoisyOrModel.add_variables