Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2023, 08:33   #1
Dizaster
Новичок
Джуниор
 
Регистрация: 22.01.2023
Сообщений: 2
По умолчанию Помогите решить задачу на python

Всем привет, дорогие форумчане.
Я новичок в питоне, на данный момент прохожу курс, там "учитель" задал домашнее задание, решение конечно же спустя время не предоставил.
Я уже 3-е сутки ломаю голову, серьезно.
Задача "типо на логику", где надо составлять в ручную таблицу истинности (т.к. много еще не изучали, по-этому в ручную) ну а в самом коде использовать операции "and, not, or"
Я понимаю то что опытные ребята лишь посмеются, но все же я с этим уже 3-е сутки сижу.
Буду очень признателен за помощь.

Задача:
Мама, прибежавшая на звон разбившейся вазы, застала трех своих сыновей в невинных позах: Саша, Ваня и Коля делали вид, что произошедшее к ним не относится.
-Кто это сделал? - спросила мама.
-Коля не бил по мячу, - сказал Саша. - это сделал Ваня.
-Разбил Коля, Саша не играл в футбол дома, - ответил Ваня.
-Так я и знала, что вы друг на дружку сваливать будете, - рассердилась мама, - ну а ты что скажешь? - спросила она Колю.
-Не сердись мамочка! Я знаю, что Ваня не мог этого сделать - сказал Коля.
Оказалось что один из мальчиков солгал, а двое - говорили правду. Кто разбил вазу?
Dizaster вне форума Ответить с цитированием
Старый 22.01.2023, 09:14   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
for S_play, V_play, K_play in (
    (True, False, False),
    (False, True, False),
    (False, False, True)
):
    S_say = (not K_play) and V_play
    V_say = K_play and (not S_play)
    K_say = not V_play
    print(S_play, V_play, K_play, '-', S_say, V_say, K_say)
Примерно так. Перебираем все варианты игравшего. Записываем утверждения каждого, подставляя в них игравшего. Осталось выбрать строку, где двое сказали правду.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу на с#,уже час ломаю голову,не могу решить. KeyJW Помощь студентам 1 09.11.2022 22:15
Нужно решить задачу на Python beygul Фриланс 0 08.06.2022 17:50
Помогите решить задачу,пожалуйста!!!вторую часть не могу решить. Родион Афанасьев Паскаль, Turbo Pascal, PascalABC.NET 1 03.03.2018 19:44
Python решить задачу с помощью функции def i09 Python 1 07.05.2015 13:05