Итак, вы сделали небольшую ошибку с вашим импортом в prueba.py
, это должно быть:
from trainer import trainer
trainer.entrenamiento(1,2)
, где первый тренер указывает на trainer.py
и второй указывает на класс.
теперь вы можете получить доступ к функции, определенной внутри класса, используя синтаксис class.function
, например. trainer.entrenamiento(1,2)
я бы рекомендовал изменить либо имя trainer.py
, либо класс trainer
, поскольку он явно запутан.
Доказательство того, что (A && C) || (B && C) ≡ (A || B) && C
является простым.
Давайте начнем со списка всех возможных перестановок, а затем протестируем их.
const permutations = [
[false, false, false],
[false, false, true],
[false, true, false],
[false, true, true],
[true, false, false],
[true, false, true],
[true, true, false],
[true, true, true],
];
permutations.forEach(permutation => {
const [A, B, C] = permutation;
console.log(((A && C) || (B && C)) === ((A || B) && C));
});
Доказательство того, что (A && C) || (B && C) ≡ (A || B) && C
является простым.
Давайте начнем с правой части уравнения и перейдем к левой.
Через логический закон распределения можно показать, что для всех предложений P, Q и R P && (Q || R) ≡ (P && Q) || (P && R)
.
Через логический коммутативный закон можно показать, что для всех предложений P и Q P && Q ≡ Q && P
Используя это, мы можем показать, что приведенные выше утверждения эквивалентны.
(A || B) && C ≡ C && (A || B)
(через коммутативный закон)
C && (A || B) ≡ (C && A) || (C && B)
(через дистрибутивный закон)
(C && A) || (C && B) ≡ (A && C) || (B && C)
(через коммутативный закон)
Следовательно, имеем (A && C) || (B && C) ≡ (A || B) && C