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
🧐 Parsing? Yes!
💡 Накидывайте идеи, что еще можно спарсить!
лайки приветствуются
https://youtu.be/TFFhLB_2ilI
лайки приветствуются
https://youtu.be/TFFhLB_2ilI
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Парсим статьи про айтишку на Python с сайта Tproger | Requests BeautifulSoup
В этом видео займемся парсингом. Попробуем спарсить статьи про it - технологии с известного сайта тпрогер. Используем либы bs4 и requests.
Пишите идеи в комменты, что можно было бы еще спарсить прикольное.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 …
Пишите идеи в комменты, что можно было бы еще спарсить прикольное.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 …
👍3
cProfile - это модуль в стандартной библиотеке Python, который предоставляет возможность профилирования кода. Он позволяет измерить время выполнения каждой функции в вашем коде, а также количество вызовов каждой функции. Это делает его отличным инструментом для определения тех мест в вашем коде, которые являются узкими местами и могут быть оптимизированы.
Использование cProfile довольно просто. Вы просто импортируете модуль и вызываете функцию
cProfile.run(), передавая ей строку кода, который вы хотите проанализировать. Вы также можете использовать cProfile в качестве командной строки, передав ему имя файла Python, который вы хотите профилировать. Результаты профилирования могут быть отсортированы по различным критериям, таким как общее время выполнения, время выполнения на вызов и количество вызовов.import cProfile
def sum_of_numbers():
return sum(range(100000))
cProfile.run('sum_of_numbers()')
В этом примере мы профилируем функцию
sum_of_numbers, которая суммирует числа от 0 до 100000.Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😱1
Ещё одна задачка с собеседований Microsoft.
Лиса охотится за уткой, и последняя приземляется в центр идеально круглого пруда.
Лиса не может плавать, а утка не может взлететь с воды. Чтобы утка могла сбежать, ей нужно добраться до берега и взлететь. Однако лиса в четыре раза быстрее утки.
Может ли утка добраться до края пруда и улететь, не будучи съеденной? Если да, то каким образом?
Предупреждаю, что тут мало логики, нужна еще и математика.
p.s. ответ дам скоро...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python Hub - сборище Питонистов
За время, которое утка преодолеет радиус пруда r, лиса может пробежать 4r. При этом для того, чтобы оказаться на противоположном берегу, лисе нужно пройти всего половину окружности Pi*r, что меньше 4r, ведь Pi = 3.14…
Как же утка может максимально усложнить жизнь лисе? Если она начнёт просто плавать вдоль берега, лиса просто будет бегать за уткой по окружности пруда, и утка останется в ловушке.
Утка может начать двигаться на расстоянии r/4 от центра пруда. Тогда время, за которое утка и лиса совершают полный круг движения, будет равным. После этого утке стоит уменьшить радиус круга, по которому она движется, на малую величину (допустим, дельта). Тогда лиса будет отставать.
Когда утка обгонит лису на 180 градусов, ей придется преодолеть расстояние 3r/(4 + дельта), чтобы достичь края пруда. За это время лиса должна пройти половину окружности пруда.
Лисе потребуется больше времени, чтобы достичь противоположного края пруда, чем утке. Утка сможет доплыть до берега и улететь.
Ключевой вопрос, на который надо ответить — действительно ли длина дуги Лисы более чем в 4 раза превышает длину спирали Утки.
Лиса движется с постоянной максимальной скоростью вокруг озера.
Длина дуги = 4ut, где u — скорость Утки, t — прошедшее время
Угол в радианах, на который она сместилась = lambda=4ut/pi
Получается треугольник со сторонами r (радиус пруда), ut (смещение утки) и углом pi-lambda.
Угол alpha (между вертикальной линией и направлением от Утки к Лисе) = arcsos[(ut+rcos lambda) / sqrt (r^2 + u^2t^2+2utcos lambda)]
Отсюда можно подсчитать радиальную скорость Утки по направлению к краю пруда
ur=(ut+r cos (4t/pi)) / sqrt (r^2+u^2t^2 + 2t cos (4t/pi))
Понятно, что радиально Утка должна проплыть расстояние r, таким образом интеграл по t от ur = r.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Python Hub - сборище Питонистов
Картинка к последнему решению
👍3😱1
Первым шагом является установка модуля requests, если он еще не установлен. Он является одним из основных модулей Python, которые используются для отправки HTTP-запросов. Вы можете установить его, используя pip:
pip install requests.Скачивание файла с помощью requests довольно прямолинейно. Вам просто нужно сделать запрос к URL-адресу файла, который вы хотите скачать, а затем записать ответ в файл. Вот пример кода, который скачивает изображение с интернета:
import requests
url = '<https://example.com/image.jpg>'
response = requests.get(url)
with open('image.jpg', 'wb') as f:
f.write(response.content)
Важно обрабатывать возможные ошибки при скачивании файла. Если файл не найден или произошла другая ошибка, requests вернет код ответа, отличный от 200. В этом случае вы должны проверять статус ответа перед записью файла.
Вот пример кода, который скачивает реальный pdf файл с сайта:
import requests
headers = {'referer': 'https://nottka.com/4364-yoshinao-nakada-etude-allegro.html'}
response = requests.get('https://nottka.com/index.php?do=download&id=4420', headers=headers)
with open('4420.pdf', 'wb') as file:
file.write(response.content)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7