Логическая задача от Google
Четверо заключенных были арестованы, но тюрьма переполнена, и тюремщику некуда их посадить. Он решает дать им головоломку. Если они справятся, то выйдут на свободу, а если не справятся, то будут казнены.
Тюремщик выстроил трех человек в линию. Четвертого он посадил за ширму. Каждому заключённому он дал по одной шапке.
Тюремщик объяснил, что есть две черные и две белые шапочки, и каждый заключенный носит одну из них. При этом каждый из заключенных должен видеть только шапки тех, кто находится перед ним, но не собственные шапки или не шапки тех, кто находится позади. Четвертый человек за ширмой не может видеть шапки других заключённых, а они не видят, какая шапка на его голове. Общаться заключённым тоже нельзя.
Если кто-либо из заключенных догадается и скажет тюремщику, какого цвета шляпа у него на голове, все четверо будут помилованы. Если кто-то даст неверный ответ, все будут казнены.
Как заключённым избежать казни?
Стоит ли кидать логические задачи подобного плана?
p.s. ответ дам скоро...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Python Hub - сборище Питонистов
Заключенный D видит шляпы заключенных B и C. Если бы у B и C были шляпы одного цвета (например, чёрного), то D догадался бы, что на его голове точно должна быть шляпа другого цвета, то есть белого.
Когда время почти истекло, С понимает, что D не может дать ответ. Это значит, что цвет его шляпы отличается от цвета шляпы B, иначе D сразу ответил бы. Поэтому С делает вывод, что на нём черная шляпа, так как он видит белую шляпу В.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😱1
👍4
Не придумали подарок?
Создай телеграм бота, который будет отправлять картинки раз в какое-то время сам, выстави на бесплатный хостинг!
Необычный подарок 8 марта готов!
https://www.youtube.com/watch?v=S5tMjouRWqk
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Автоотправка картинок TELEGRAM БОТОМ на Python | Подарок 8 марта | AIOgram
В этом видео мы создадим бота, который отправляет картинки с каким -то промежутком времени. Данный бот отлично подойдет, как подарок к празднику.
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻
https://t.me/pythonhub_chat…
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻
https://t.me/pythonhub_chat…
❤6
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁1
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Если мы указываем в срезе, что мы идем от большего индекса к меньшему, то 3-им параметром должны указать шаг. (по умолчанию он равен 1. А от 2 до 1 с шагом в +1 мы никак не доберемся).
В данном примере мы получим пустоту. (ничего).
В данном примере мы получим пустоту. (ничего).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В Python символ новой строки представлен как '\n'. Он используется для обозначения конца строки текста и начала новой. Когда интерпретатор Python встречает символ новой строки в строке, он понимает, что нужно перенести строку и начать новую. Например:
print("Привет\nМир")
Этот код напечатает:
Привет
Мир
Это происходит потому, что символ '\n' сигнализирует интерпретатору о начале новой строки после печати "Привет".
Помимо символа новой строки, Python также поддерживает различные другие специальные символы, которые часто используются с оператором print для форматирования вывода. Например, символ '\t' представляет собой табуляцию, создающую большое пространство в выводе.
print("Привет\tМир")
Этот код напечатает:
Привет Мир
Экранированные последовательности в Python начинаются с обратной косой черты (\) и следуют за символом, который вы хотите вставить. Python интерпретирует экранированную последовательность как один символ. Помимо '\n', '\t', в Python есть несколько других экранированных последовательностей, таких как \' для одинарной кавычки, \" для двойной кавычки и \\ для самой обратной косой черты.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Эту задачу могут дать на собеседовании.
Представьте, что у вас есть две пустых бутыли для воды объемом в 3 и 5 галлонов. Как отмерить ровно 4 галлона воды?
Запас воды для решения не ограничен.
Прошлый раз задача вам понравилась!
Кстати, можете пробовать писать свои ответы в комменты. Желательно закрывать их спойлером, чтобы другие участники не могли подглядеть без надобности.
p.s. ответ дам скоро...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Python Hub - сборище Питонистов
Можете заглянуть в комменты и почитать их самостоятельно!
Выложу те ответы, которые были в исходниках:
Каждую бутылку наполнить на половину (1.5 и 2.5 литра= 4 литра)....
Вот реальные варики:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🤡1
Один из самых простых способов измерения времени выполнения кода в Python – использование модуля time. Этот модуль предоставляет функцию time(), которая возвращает текущее время в секундах с момента начала эпохи. Вы можете использовать эту функцию до и после куска кода, скорость выполнения которого вы хотите измерить, а затем вычесть одно значение из другого, чтобы получить общее время выполнения.
Пример использования модуля time:
import time
start_time = time.time()
# Код, скорость выполнения которого вы хотите измерить
for i in range(0, 10000):
pass
end_time = time.time()
execution_time = end_time - start_time
print(f"Время выполнения: {execution_time} секунд")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Модуль timeit в Python используется для измерения времени выполнения вашего кода. У него есть как интерфейс командной строки, так и вызываемый интерфейс. Модуль выполнит оператор определенное количество раз (по умолчанию - один миллион) и затем вернет время, затраченное на выполнение. Вот простой пример:
import timeit
print(timeit.timeit('"-".join(str(n) for n in range(100))', number=10000))
Этот код выполнит оператор
"-".join(str(n) for n in range(100)) 10 000 раз и выведет затраченное на это время.Вы также можете использовать модуль timeit для измерения времени выполнения функций. Вот пример:
import timeit
def my_function():
return "-".join(str(n) for n in range(100))
print(timeit.timeit(my_function, number=10000))
В этом примере мы сначала определяем функцию с именем my_function. Затем мы измеряем время выполнения этой функции 10 000 раз и выводим результат.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Простая проверка, есть ли список в списке со списками. Да, такой список там есть. 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3