Вычислить преступника (Python)

Определите, кто из подозреваемых участвовал в преступлении, если известно:

  1. Если Иванов не участвовал или Петров участвовал, то Сидоров участвовал;
  2. Если Иванов не участвовал, то Сидоров не участвовал.

вариант решения (Python)

Введём логические переменные I, P, S, назовём их по первым буквам фамилий подозреваемых.

I будет означать, что в преступлении участвовал Иванов, P – Петров, S – Сидоров. Так как участвовал только один из них, у одной из этих переменных будет значение истина (1), а у двух других – ложь(0).

Преступника определим при помощи функции criminal(I, P, S). Её аргументами будут значения переменных I, P, S. Возможны три варианта значений: (1, 0, 0) – если участвовал Иванов, (0, 1, 0) – если участвовал Петров, (0, 0,1) – если участвовал Сидоров.

В функции применим конъюнкцию к 1 и 2 условиям.

преступник_1

При выполнении обоих условий функция вернёт True. Тогда к переменной answer добавится фамилия преступника.

преступник_2

вывод

Литература:

Информатика и ИКТ. Задачник-практикум под ред. Т.Г. Семакина, Е.К Хеннера. (Т. 1)