Примеры программ

Примеры программ, созданных лично мной.

Примеры программ буду сохранять на этой странице, чтобы иметь возможность легко находить тексты программ и делиться со всеми, кого интересует язык Пайтон.

Для начала публикую программу, которая создана несколько лет тому назад — пожалуй, в 2017-м году, когда я плотно занялся Пайтоном, но потом отвлёкся и прекратил.

1. Программа вычисления сечения Протоки между двумя Прудами.

import math # === Program Square_3 ===
pi = math.pi # Number pi
a=10 # Upper side
h=2 # depth Height Weight
alfa=pi/3 # Angle 60 degree
b=a — 2*h/math.tan(alfa) # Low side
l=b+2*h/math.sin(alfa) # Lenth
S=h*(a+b)/2 # Square
print( ‘Число pi=’ ‘%.4f’ % pi, ‘(радиан)’)
print( ‘Верх a=’ ‘%d’ % a, ‘(м.)’)
print( ‘Высота h=’ ‘%d’ % h, ‘(м.)’)
print( ‘Число alfa=’ ‘%.4f’ % alfa, ‘(радиан)’)
print( ‘Низ b=’ ‘%.2f’ % b, ‘(м.)’)
print( ‘Длина l=’ ‘%.2f’ % l, ‘(м.)’)
print( ‘Сечение S=’ ‘%.2f’ % S, ‘(кв. м.)’)

Результаты:

Число pi=3.1416 (радиан)
Верх a=10 (м.)
Высота h=2 (м.)
Число alfa=1.0472 (радиан)
Низ b=7.69 (м.)
Длина l=12.31 (м.)
Сечение S=17.69 (кв. м.)

Программа предельно простенькая, но она доказывает, что зачастую для проведения расчётов проще написать программу на Пайтоне, чем проводить расчёты иными способами.

2. Программа вычисления параметров Пруда - создана 21.10.2022 г. путём модификации и развития предыдущей программы.

import math # === Program Square_4. ===
# Примерный расчёт Плавательного Пруда
# без учёта «Лягушатников» с обоих сторон
# и без учёта глубокой Ямы для зимовки Рыб,
# нужных для оживления Пруда и очистки воды в нём.
# Весь грунт пойдёт на создание ОЛГ (Общественного Лабиринта Гряд),
# в котором будем выращивать Овощи для питания всех желающих.
pi = math.pi # Number pi
a=10 # Upper side
h=2 # height of Water
alfa=pi/4 # Angle 45 degree — optimum
b=a — 2*h/math.tan(alfa) # Low side
l=b+2*h/math.sin(alfa) # Lenth
S=h*(a+b)/2 # Square
L=50 # Lenth of the Swimming Pond
V=S*L # Volume
W=V*2000 # Weight
N=W/200 # Number
m=18 # man’s
n=15 # norma in day
D=N/(m*n) # Days
print( ‘Примерный расчёт Плавательного Пруда’ )
print( ‘без учёта «Лягушатников» с обоих сторон’ )
print( ‘и без учёта глубокой Ямы глубиной 4 метра для зимовки Рыб,’ )
print( ‘нужных для оживления Пруда и очистки воды в нём.’ )
print( ‘Весь грунт пойдёт на создание ОЛГ (Общественного Лабиринта Гряд),’ )
print( ‘в котором будем выращивать Овощи для питания всех желающих.’ )
print( ‘Число pi=’ ‘%.4f’ % pi, ‘(радиан)’)
print( ‘Верх a=’ ‘%d’ % a, ‘(м.)’)
print( ‘Высота h=’ ‘%d’ % h, ‘(м.)’)
print( ‘Число alfa=’ ‘%.4f’ % alfa, ‘(радиан)’)
print( ‘Низ b=’ ‘%.2f’ % b, ‘(м.)’)
print( ‘Длина l=’ ‘%.2f’ % l, ‘(м.)’)
print( ‘Сечение S=’ ‘%.1f’ % S, ‘(кв. м.)’)
print( ‘Объём грунта V=’ ‘%.1f’ % V, ‘(кубометров)’)
print( ‘Вес грунта W=’ ‘%.1f’ % W, ‘(кг.)’)
print( ‘Число тачек N=’ ‘%.1f’ % N, ‘(шт.)’)
print( ‘Число людей m=’ ‘%.0f’ % m, ‘(энтузиастов)’)
print( ‘Норма дневная n=’ ‘%.0f’ % n, ‘(тачек)’)
print( ‘Число дней D=’ ‘%.1f’ % D, ‘(до завершения)’)
print( ‘ВЫВОД: Пруд вполне может быть создан за месяц, чтобы плавать всё лето’)
print( ‘Для ускорения процесса копать нужно с двух сторон’)

Результаты:

Примерный расчёт Плавательного Пруда
без учёта «Лягушатников» с обоих сторон
и без учёта глубокой Ямы глубиной 4 метра для зимовки Рыб,
нужных для оживления Пруда и очистки воды в нём.
Весь грунт пойдёт на создание ОЛГ (Общественного Лабиринта Гряд),
в котором будем выращивать Овощи для питания всех желающих.
Число pi=3.1416 (радиан)
Верх a=10 (м.)
Высота h=2 (м.)
Число alfa=0.7854 (радиан)
Низ b=6.00 (м.)
Длина l=11.66 (м.)
Сечение S=16.0 (кв. м.)
Объём грунта V=800.0 (кубометров)
Вес грунта W=1600000.0 (кг.)
Число тачек N=8000.0 (шт.)
Число людей m=18 (энтузиастов)
Норма дневная n=15 (тачек)
Число дней D=29.6 (до завершения)
ВЫВОД: Пруд вполне может быть создан за месяц, чтобы плавать всё лето
Для ускорения процесса копать нужно с двух сторон

При наличии энтузиастов, заинтересованных в создании Плавательного Пруда, можно выкопать котлован Пруда примерно за месяц лопатами, а грунт перевезти тачками.

3. Парсер Pogoda.py для визуализации температуры в 10-ти городах — создан 22.10.2022 г.

# === Pogoda.py ===
# Ставим модуль beautifulsoup4 : в командной строке выполняем pip install beautifulsoup4
# В командной строке выполняем import beautifulsoup4
import requests
url = ‘https://yandex.com.am/weather/?lat=55.75581741&lon=37.61764526′
response = requests.get(url)
from bs4 import BeautifulSoup
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’1. Москва ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=56.69474411&lon=38.94873428′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’2. Коровино ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=45.03186417&lon=35.09931946′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’3. Старый Крым ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=56.6860466&lon=29.79132271′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’4. Осташкино ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=52.23262405&lon=21.00928307′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’5. Варшава ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=48.85666275&lon=2.351556063′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’6. Париж ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=41.88706589&lon=12.50480747′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’7. Рим ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=48.23288345&lon=16.47505569′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’8. Вена ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=50.45044327&lon=30.52355003&via=hnav’
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’9. Киев ‘, temp.text)
url = ‘https://yandex.ru/pogoda/?lat=48.14413071&lon=17.10386086′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(’10. Братислава ‘, temp.text)
url = ‘https://yandex.ru/pogoda/177′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(‘Берлин ‘, temp)
url = ‘https://yandex.ru/pogoda/10393′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(‘Лондон ‘, temp)
url = ‘https://yandex.ru/pogoda/90′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(‘Сан-Франциско ‘, temp)
url = ‘https://yandex.ru/pogoda/21265′
response = requests.get(url)
bs = BeautifulSoup(response.text,»html.parser»)
temp = bs.find(‘span’, ‘temp__value temp__value_with-unit’)
print(‘Мельбурн ‘, temp)

Результаты:

1. Москва +6
2. Коровино +4
3. Старый Крым +11
4. Осташкино +2
5. Варшава +13
6. Париж +18
7. Рим +21
8. Вена +14
9. Киев +10
10. Братислава +12
Берлин None
Лондон None
Сан-Франциско None
Мельбурн None

Использована информация со страниц сайта https://yandex.ru/pogoda/ — видим температуру в 10-ти городах, а в 4-х — нет, так как в адресах этих страниц вместо координат указаны какие-то условные номера.

Главный смысл создания Парсера Pogoda.py — убедиться, что ничего особо сложного в этом нет. Недостатки знаю — исправлю со временем.

Для меня важнее получить текст этой программы на языке Си, используя автоматический Транслятор program.py в program.c, чтобы скомпилировать программу и получить файл исполняемой программы с расширением .com или .exe

4. Программа вычисления объёма и веса ствола дерева Volume_1.py

import math # === Program Volume_1.py ===
pi = math.pi # Number pi
d=2 # diametr, decimetr
L=44 # Lenth, decimetr
S=pi*d*d/4 # Square, кв. дм.
V=S*L # Volume, литров
p =625 # plotnost, грамм/литр
pz=700 # plotnost, грамм/литр
P=p*V/1000 # Вес куска ствола, кг
print( ‘Число pi=’ ‘%.2f’ % pi, ‘(радиан)’)
print( ‘Диаметр d=’ ‘%d’ % d, ‘(дм.)’)
print( ‘Длина L=’ ‘%d’ % L, ‘(дм.)’)
print( ‘Сечение S=’ ‘%.2f’ % S, ‘(кв. дм.)’)
print( ‘Объём V=’ ‘%.2f’ % V, ‘(литров)’)
print( ‘Плотность средне-влажной сосны p=’ ‘%.f’ % p, ‘(грамм/литр)’)
print( ‘Вес P=’ ‘%.2f’ % P, ‘(кг)’)
print( ‘Плотность зимней сосны pz=’ ‘%.f’ % pz, ‘(грамм/литр)’)
print( ‘Реальную плотность спиленной сосны определю, взвесив кубик со стороной 10 см. или используя прибор’)

Результаты:

Число pi=3.14 (радиан)
Диаметр d=2 (дм.)
Длина L=44 (дм.)
Сечение S=3.14 (кв. дм.)
Объём V=138.23 (литров)
Плотность средне-влажной сосны p=625 (грамм/литр)
Вес P=86.39 (кг)
Плотность зимней сосны pz=700 (грамм/литр)
Реальную плотность спиленной сосны определю, взвесив кубик со стороной 10 см. или используя прибор

Влажность отдельных брёвен и установленного Сруба можно контролировать, используя недорогой Измеритель влажности древесины техметр ИВД-15 - его стоимость на ОЗОНе 712-ть рублей. Куплю перед дачным сезоном.

Расчёты показали, что бревно Сосны диаметром 20-ть см. и длиной 4,4 метра имеет вес примерно 86,39 кг — такие тяжёлые брёвна желательно лишать коры скобелями и досушивать вблизи места спиливания.

!…

Само собой разумеется, что далеко не все созданные мной программы будут опубликованы на этой странице.

!…

Приглашаю всех высказываться в Комментариях. Критику и обмен опытом одобряю и приветствую. В особо хороших комментариях сохраняю ссылку на сайт автора!

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
Примеры программПродолжение тут…

Deviz_16

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.