👍7
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Создали объект класса. В поле b (a.b) лежит число 3. В поле c, объекта a, мы создаем значение 5.
// - операция целочисленного деления. 5 // 3 —> 1 (3 помещается в 5 целиком только 1 раз)
Ответ: 1
// - операция целочисленного деления. 5 // 3 —> 1 (3 помещается в 5 целиком только 1 раз)
Ответ: 1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👨💻1
Сортировка слиянием - это один из наиболее эффективных алгоритмов сортировки, который используется в программировании. Он основан на принципе "разделяй и властвуй", что позволяет ему достичь быстрого времени выполнения.
Сортировка слиянием работает путем разделения неотсортированного массива на две половины, сортировки каждой из них отдельно, а затем слияния двух отсортированных массивов обратно в один. Это делается рекурсивно, что означает, что процесс разделения и слияния продолжается, пока весь массив не будет отсортирован.
В Python сортировка слиянием может быть реализована с помощью стандартной библиотеки. Функция
merge_sort принимает список в качестве аргумента и возвращает отсортированный список. Она делит список на две половины, рекурсивно вызывает себя для каждой половины, а затем объединяет два отсортированных списка в один.def merge_sort(arr):
if len(arr) <= 1:
return arr
mid = len(arr) // 2
left_half = merge_sort(arr[:mid])
right_half = merge_sort(arr[mid:])
return merge(left_half, right_half)
def merge(left, right):
merged = []
left_index = 0
right_index = 0
while left_index < len(left) and right_index < len(right):
if left[left_index] <= right[right_index]:
merged.append(left[left_index])
left_index += 1
else:
merged.append(right[right_index])
right_index += 1
merged += left[left_index:]
merged += right[right_index:]
return merged
Сортировка слиянием имеет несколько ключевых преимуществ. Во-первых, она эффективна, с временем выполнения O(n log n). Во-вторых, она стабильна, что означает, что она сохраняет исходный порядок равных элементов. Однако у нее есть и недостатки. Она требует дополнительное пространство для хранения промежуточных результатов, что может быть проблемой для больших данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Одной из наиболее часто используемых функций для генерации случайных чисел является функция
random.randint(). Но насколько случайными являются числа, которые генерирует эта функция?С точки зрения программирования, идеальной случайности не существует. Даже функция
random.randint() в Python генерирует так называемые псевдослучайные числа. Это значит, что хотя числа кажутся случайными, они на самом деле генерируются с использованием определенного алгоритма, который может повторяться при определенных условиях.Функция
random.randint() использует алгоритм Мерсенна Твистер, который является одним из наиболее широко используемых алгоритмов для генерации псевдослучайных чисел. Он основан на математических принципах и генерирует последовательности чисел, которые в действительности предсказуемы, если известно достаточно много предыдущих чисел в последовательности.Значение seed играет важную роль в генерации псевдослучайных чисел в Python. Если вы используете функцию
random.seed() с определенным значением перед вызовом random.randint(), вы будете получать одну и ту же последовательность "случайных" чисел каждый раз, когда вы запускаете свой код. Это может быть полезно для отладки и воспроизводимости результатов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👨💻1
Новый видос про хостинг!
Аналог хироку с бесплатными 111 рублями на старте!
https://youtu.be/1ssMx6wTF6w
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
TELEGRAM BOT на Python AIOgram загружаем на ХОСТИНГ
В этом видео мы создадим простого эхо бота для телеграм на библиотеке Aiogram, а потом зальем его на хостинг Amvera Cloud Hosting.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 https://t.me/pythonhub_chat…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 https://t.me/pythonhub_chat…
👍6
В мире программирования на Python, одна из важнейших концепций, которую необходимо понять, это создание копий объектов. Это особенно полезно, когда вы не хотите изменять первоначальный объект, но вам нужно внести изменения в его копию.
Существуют два типа копирования в Python - поверхностное и глубокое. Поверхностное копирование создает новый объект, но заполняет его ссылками на оригинальные дочерние объекты. Глубокое копирование, с другой стороны, создает новый объект и рекурсивно добавляет копии дочерних объектов оригинала. Выбор между этими двумя зависит от ваших конкретных потребностей.
Когда вы работаете с изменяемыми объектами, такими как списки или словари, изменение копии может повлиять на оригинал. Это может привести к неожиданным побочным эффектам в вашем коде. Создание копии объекта позволяет вам вносить изменения без воздействия на оригинальный объект.
Создание копий объектов может помочь улучшить производительность вашего кода. Когда вы работаете с большими объектами или структурами данных, изменение оригинала может быть ресурсоемким процессом. Создание копии и работа с ней, вместо оригинала, может сэкономить время и ресурсы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Логическая задача от 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