Python Hub - сборище Питонистов
💀 Решение для технарей
Первое, что мы сделаем, — поднимем уровень земли, чтобы он касался провода. Так как до центра провиса 20 метров, то высота столбов тоже уменьшится на эти 20 метров:
Расстояние между столбами у нас при этом осталось тем же самым.
Так как кабель провисает по центру, нам достаточно найти расстояние от края до середины и умножить его на 2 — так мы найдём полное расстояние между столбами.
❗️ Самая важная часть.
Так как провисающий кабель похож на параболу, то мы для решения будем использовать не тригонометрические функции, которые работают с прямыми и окружностями, а гиперболические.
Сначала поработаем с высотой столба. Запишем формулу для расстояния, затем добавим на рисунок те данные, которые мы уже знаем, и раскроем формулу:
Теперь составим второе уравнение, в котором используем значение длины кабеля. Так как он провисает ровно посередине, то его длина от края до точки перегиба — 40 метров.
Добавляем свойство о том, что разность квадратов гиперболического синуса и косинуса равна единице:
Раскрываем скобки, приводим всё к классическому квадратному уравнению, и, решая его, получаем ответ: a = 35/3.
Это значение подставляем в формулу гиперболического синуса, чтобы посчитать половину длины кабеля:
Решаем это уравнение на калькуляторе и получаем ответ: x ≈ 22,7. Это половина расстояния между столбами, а полное расстояние ≈ 45,4 метра.
Ответ: если высота до центра провиса равна 20 метров, то расстояние между столбами составляет примерно 45,4 метра.
Первое, что мы сделаем, — поднимем уровень земли, чтобы он касался провода. Так как до центра провиса 20 метров, то высота столбов тоже уменьшится на эти 20 метров:
Расстояние между столбами у нас при этом осталось тем же самым.
Так как кабель провисает по центру, нам достаточно найти расстояние от края до середины и умножить его на 2 — так мы найдём полное расстояние между столбами.
❗️ Самая важная часть.
Так как провисающий кабель похож на параболу, то мы для решения будем использовать не тригонометрические функции, которые работают с прямыми и окружностями, а гиперболические.
Сначала поработаем с высотой столба. Запишем формулу для расстояния, затем добавим на рисунок те данные, которые мы уже знаем, и раскроем формулу:
Теперь составим второе уравнение, в котором используем значение длины кабеля. Так как он провисает ровно посередине, то его длина от края до точки перегиба — 40 метров.
Добавляем свойство о том, что разность квадратов гиперболического синуса и косинуса равна единице:
Раскрываем скобки, приводим всё к классическому квадратному уравнению, и, решая его, получаем ответ: a = 35/3.
Это значение подставляем в формулу гиперболического синуса, чтобы посчитать половину длины кабеля:
Решаем это уравнение на калькуляторе и получаем ответ: x ≈ 22,7. Это половина расстояния между столбами, а полное расстояние ≈ 45,4 метра.
Ответ: если высота до центра провиса равна 20 метров, то расстояние между столбами составляет примерно 45,4 метра.
❤2👍2
Вторая часть посвящена созданию скелета бота!
https://www.youtube.com/watch?v=SqnW97Sw6Wk
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Телеграм БОТ РАСПИСАНИЯ университета на Python | AIOgram подключение и команды
В этом видео мы продолжим создавать телеграм бота для расписания университета. Внедрим уже готовые функции в телеграм бота, чтобы он мог показывать расписание. Создадим скелет нашего бота, используя библиотеку AIOgram.
🔥 Подписывайся на наш Телеграм-канал…
🔥 Подписывайся на наш Телеграм-канал…
👍3
Python - это высокоуровневый язык программирования, который предлагает множество управляющих конструкций. Хотя в нем нет традиционного цикла "do while", как в других языках, цикл "while" в Python можно настроить для аналогичного поведения.
Цикл
while в Python принимает форму while expression:, за которым следуют одно или несколько отступов в высказываниях. Цикл будет продолжать работать до тех пор, пока выражение больше не будет истинным. Например:count = 0
while count < 5:
print(count)
count += 1 # Увеличиваем значение count на 1
В этом примере цикл будет продолжать выводить значение count, пока оно меньше 5.
Поскольку в Python нет традиционного цикла "do while", вы можете эмулировать его, используя цикл "while" с оператором "break". Вот пример:
while True:
print("Этот цикл выполнится хотя бы один раз")
if not condition:
break
В этом примере цикл выполнится хотя бы один раз, а затем продолжит работу, пока условие истинно.
Допустим, вы хотите запросить у пользователя ввод, пока он не введет натуральное число. Вы могли бы использовать цикл "do while" так:
while True:
number = input("Введите натуральное число: ")
if number.isdigit():
break
В этом примере цикл будет продолжать запрашивать ввод пользователя, пока он не введет число.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
👍8
Было бы интересно видеть в этом канале какие-то новости про технологии? (дополнительно к Python'y)
Anonymous Poll
65%
Да, интересно
24%
Нет, неинтересно
37%
Можно создать для такого отдельный канал
13%
Хочу еще канал про технологии + другие Языки Программирования
11%
Что-то другое (не знаю, что хочу😊) (в комменты)
❤🔥1👍1
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Цикл while должен был бы быть бесконечным, если бы его не прервал break, который находится внутри if'a (условие правдиво). Так как break стоит раньше, чем print('A'), то этот вывод не сработает.
Мы можем прикреплять else к циклам (while или for). Он будет срабатывать тогда, когда цикл не был прерван break конструкцией (а у нас был).
Таким образом ответом будет только вывод 'C'.
Мы можем прикреплять else к циклам (while или for). Он будет срабатывать тогда, когда цикл не был прерван break конструкцией (а у нас был).
Таким образом ответом будет только вывод 'C'.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Тернарный оператор, также известный как условный оператор, является уникальным оператором, который используется для выполнения конденсированных версий простых операторов if-else. Он принимает три аргумента: условие, значение, если условие истинно, и значение, если условие ложно.
Тернарный оператор используется, когда мы хотим сократить код и упростить чтение. Это особенно полезно в случаях, когда нам нужно сделать простое условное присваивание. Однако из-за его сжатого формата, использование тернарного оператора в сложных условиях может затруднить понимание кода.
Да, Python поддерживает тернарный оператор. В Python тернарный оператор выглядит следующим образом:
x if condition else y. Здесь x присваивается, если условие истинно, иначе присваивается y.age = 15
type = "teenager" if age < 18 else "adult"
print(type) # Выведет: teenager
В этом примере, если переменная
age меньше 18, переменной type присваивается значение "teenager", в противном случае - "adult".Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍3
https://www.youtube.com/watch?v=8WvbUy5iCSc&ab_channel=Shcoder
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Телеграм БОТ РАСПИСАНИЯ университета на Python | База данных SQLite | AIOgram
В этом видео продолжаем создавать телеграм бота для расписания университета. Добавим базу данных sqlite3, а так же немного улучшим наш вывод в боте. Пишем мы на языке Python, используя библиотеку aiogram.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 ht…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 ht…
👍6
Дескрипторы - это объекты, которые определяют поведение атрибутов при их доступе, изменении и удалении. В Python дескрипторы определяются методами
__get__, __set__ и __delete__ в дескрипторном классе. Эти методы позволяют управлять тем, как атрибуты объекта получают, изменяют и удаляют значения.Рассмотрим пример использования дескрипторов. Предположим, у нас есть класс
Person, который имеет атрибут age. Мы хотим гарантировать, что возраст не может быть отрицательным числом. Для этого мы можем использовать дескриптор. Мы создадим класс NonNegative, который будет дескриптором для возраста. В этом классе мы определим метод __set__, который будет проверять, является ли новое значение отрицательным числом. Если это так, метод __set__ вызовет исключение.Пример кода:
class NonNegative:
def __get__(self, instance, owner):
return instance.__dict__[self.name]
def __set__(self, instance, value):
if value < 0:
raise ValueError('Cannot be negative.')
instance.__dict__[self.name] = value
def __set_name__(self, owner, name):
self.name = name
class Person:
age = NonNegative()
p = Person()
p.age = 20
print(p.age) # Вывод: 20
p.age = -20 # Возбуждает исключение ValueError
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Было бы прикольно посмотреть стримчанский?
Anonymous Poll
52%
Да, как пишем ТГ бота
31%
Да, как пишем сайтик
26%
Да, как решаем задачи
34%
Да, как пишем прилагу
26%
Да, как пишем какую-то прикольную херню
10%
Да, как учим другой ЯП
7%
Да, что-то другое
7%
Нет, я не фанат стримов
По данным
Решил подушнить статистикой вам
Топ-10 городов по количеству вакансий
Январь 2024 — март 2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Создать 10 случайных чисел в Python [для новичков]
В Python для заполнения списка случайными числами можно использовать модуль
В этом примере создается список из 10 случайных чисел в диапазоне от 1 до 100.
А вот вам и вопрос этот на stackoverflow, который задали в далеком 2014🙃🙃🙃
https://stackoverflow.com/questions/25719364/how-do-i-get-10-random-values-in-python
В Python для заполнения списка случайными числами можно использовать модуль
random. Ниже представлен код:import random
random_numbers = [random.randint(1, 100) for _ in range(10)]
В этом примере создается список из 10 случайных чисел в диапазоне от 1 до 100.
А вот вам и вопрос этот на stackoverflow, который задали в далеком 2014🙃🙃🙃
https://stackoverflow.com/questions/25719364/how-do-i-get-10-random-values-in-python
Stack Overflow
How do i get 10 random values in python?
I am new to programming and I got stuck with random number generation. I can simply generate random numbers using random function "randint" but could not generate set of random numbers. For instanc...
👍5
Библиотека bitcoinlib является мощным инструментом для работы с биткоином и другими криптовалютами в Python. Она обеспечивает удобный и гибкий интерфейс для создания, подписания и обработки транзакций, а также для работы с блокчейном.
Библиотека bitcoinlib позволяет легко создавать и подписывать транзакции. Это можно сделать, используя класс Transaction. Вы можете добавить входы и выходы, затем подписать транзакцию с помощью своего приватного ключа. После этого вы можете воспользоваться функцией send, чтобы отправить транзакцию в сеть.
Пример кода:
from bitcoinlib.transactions import Transaction
# Создаем новую транзакцию
tx = Transaction()
# Добавляем входы и выходы
tx.add_input('input_address', 'input_value')
tx.add_output('output_address', 'output_value')
# Подписываем транзакцию
tx.sign('private_key')
# Отправляем транзакцию
tx.send()
Библиотека bitcoinlib также предоставляет функции для работы с блокчейном. Вы можете получить информацию о блоках, транзакциях и адресах. Также есть возможность мониторить блокчейн на предмет новых транзакций или изменений в блоках.
Пример кода:
from bitcoinlib.blocks import Block
# Получаем информацию о блоке
block = Block('block_hash')
print(block.info())
В дополнение к биткоину, bitcoinlib поддерживает работу с другими криптовалютами, такими как Litecoin и Dash. Это позволяет разработчикам создавать мульти-валютные приложения и услуги, используя единый интерфейс.
Пример кода:
from bitcoinlib.wallets import HDWallet
# Создаем кошелек для Litecoin
ltc_wallet = HDWallet.create('my_litecoin_wallet', network='litecoin')
# Получаем баланс кошелька
print(ltc_wallet.balance())
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python имеет библиотеку под названием speedtest-cli, которая облегчает проверку скорости вашего интернет-соединения. Этот модуль использует [speedtest.net](http://speedtest.net/) для проведения тестов. Установить его можно с помощью pip install speedtest-cli. После установки вы можете импортировать его в свою программу и использовать функции для проверки скорости.
Ваш код для проверки скорости может быть таким простым, как импорт модуля speedtest и вызов его функций для получения скоростей загрузки и загрузки. Пример кода может выглядеть так:
import speedtest
s = speedtest.Speedtest()
print(f"Download: {s.download()}")
print(f"Upload: {s.upload()}")
Этот код выдаст скорости загрузки и загрузки в битах в секунду.
При получении результатов вы можете использовать их по своему усмотрению. Вы можете просто отобразить их на экране, записать их в файл для отслеживания со временем или использовать их для проверки того, соответствует ли ваше интернет-соединение обещаниям вашего провайдера.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1