banner banner banner
Python 3. Расчет веса детали
Python 3. Расчет веса детали
Оценить:
Рейтинг: 0

Полная версия:

Python 3. Расчет веса детали

скачать книгу бесплатно

Python 3. Расчет веса детали
Сергей Фёдорович Гаврилов

Эта книга для начинающих программистов, желающих начать программировать на языке Python 3. Набор программ создан для цеховых конструкторов-механиков как ежедневный рабочий инструмент. Книга будет полезна для студентов-механиков. Предлагаемые в книге расчеты экономят рабочее время и уменьшает ошибки в расчетах. Данная книга – сборник листингов рабочих программ. Все программы в разное время разработаны самим автором при возникновении необходимости данных расчетов. Все программы проверены и постоянно используются в работе конструктора-механика. Листинги программ снабжены пояснениями.

Введение

Python 3 Ves.

Инженер конструктор отдела гл.механика Гаврилов Сергей Фёдорович написал эту книгу для начинающих программистов, желающих начать программировать на языке Python 3. Книга будет полезна для студентов механиков и для конструкторов механиков. Программа Ves используется конструктором каждый день. Закончив разработку детали – необходимо проставить на чертеже Вес детали. Значит запускаем программу Ves.

Данная книга содержит листинги – набор небольших рабочих программ для расчета веса деталей. Для получения рабочего комплекта – создаем папку Ves.

В эту папку копируем в режиме « Блокнот » по одной все программы проведенные в этой книге, сохранять программы следует точно под теми именами, что в книге –все программы сохраняем с расширением .py..

В основной программе не забудьте выставить нужное количество пробелов в начале строк.

В книге приведен полный комплект программ для расчета веса детали.

Листинги выполнены как есть, без сокращений, и после копирования – готовы к работе. Предлагаемые в книге расчеты существенно экономят время и уменьшают вероятность ошибок. Все программы проверены и постоянно используются в работе конструктора механика. Листинги программ снабжены пояснениями. Листинги удобно использовать в качестве готовых блоков для вновь разрабатываемых программ. Для практического применения листингов программ проверьте – установлен ли на вашем компьютере Python 3.4. или более старшая версия Python 3.8..Python 3.4 распространяется свободно и бесплатно – например на сайте https://soft-file.ru/python/ (https://soft-file.ru/python/) Перед скачиванием исходника Python 3.4 проверьте разрядность вашей ЭВМ. Посмотрите вкладку – Компьютер – Свойства системы. Бывают 32 разрядные и 64 разрядные системы. Для каждой системы свой Python 3.4..

Примечание

Программы написаны для Python 3.4 и более новых версий. На Python 2 программы работать не будут, так как в Python 3.4 написание команд отличается от Python 2.

В программе на любом языке очень важен синтаксис – порядок написания символов в строке.

Малейшая ошибка, которую человек даже не заметит, – ЭВМ замечает и отказывается исполнять программу. Поэтому проще копировать блоки уже работающих программ в свою программу, при необходимости, подправить готовые блоки легче, чем писать блок заново – так будет меньше ошибок в программе и экономится время.

Программа в Python состоит из строк, написанных в простом текстовом редакторе.

Текстовый редактор должен быть именно простым, к примеру Блокнот. Редактор Microsoft Word не годится потому, что он вставляет в строку невидимые служебные символы, которые, искажают команды Python и программа отказывается работать. Если листинг программы вы скачали в формате «.doc » или подобном – следует создать пустой текстовый файл в программе « Блокнот » – выделить и скопировать листинг из файла «.doc » и вставить в пустой текстовый файл « Блокнота » с расширением «.txt » и сохранить его с именем программы. Затем открыть этот файл и сохранить уже с расширением «.py ». Вам будут нужны оба этих файла.

Важно, строки программы должны начинаться без пробела точно с начала строки.

Если в программе имеются логические операторы, например while или for, то за таким оператором следуют строки одного или нескольких блоков. Блоки выполняются программой, или пропускаются без исполнения, в зависимости от условия в логическом операторе.

Блоки отделяются от основной программы пробелами в начале строки. Обычно в начале строки блока ставят четыре пробела. Число пробелов в начале строки – важная величина. Мной указано сколько пробелов надо ставить в начале строки.

Сама программа начинается со стороки « # -*– coding: cp1251 -*– » и заканчивается строкой « # .... Конец листинга программы ..... ». Копируя листинг в файл .txt – надо копировать только программу, любой текст до тела программы и после тела программы даст сбой в работе.

Если в компьютере Python 3.4 установлен правильно, то при двойном клике мышью на файле с расширением “.py ”. программа начнет исполнятся. Если программа стопорится или вылетает – Запускаем файл редактора программы

« IDLE( Python GUI) » в этом редакторе щелкаем левой кнопкой мыши на – File – затем Open. В выпавшем меню находим свой файл, выделяем его – щелкаем – Открыть. На экран выводится листинг вашего файла с выделением цветом элементов команд. Находим колонку – Run- щелкнув – открываем выпадающее меню и щелкаем на – Run Module F5 – Ваша программа начинает выполняться и останавливается на месте ошибки. Иногда она останавливается на следующей за ошибкой команде. Выводится комментарий к ошибке на английском.

В некоторых случаях помогает удаление строки в начале программы

« # -*– coding: cp1251 -*– » и программа заработает. Иногда помогает удалить конфликтную строку и забить ее вновь в текстовом редакторе.

« Программа редактор « IDLE( Python GUI) » идет в комплекте с программой Python 3.4.. и служит для нахождения ошибок в разрабатываемой программе.

При верстке книги к печати « умные программы » что-то убирают, а что-то добавляют, искажая оригинал. Для программы маленькие буквы и большие буквы – это разные буквы, а « умные программы » при верстке в начале строки бывает, что заменяют маленькую букву большой или меняет форму ковычек – программа вылетает.

К примеру при верстке удаляются все « лишние» пробелы. Скопировав листинг программы в «Блокноте» в формате «.txt» необходимо восстановить утраченные пробелы. Перед знаком # расположенным после команды надо добавить два пробела. Строка коментариев после значка # не должна переносится на следующую строку. В блоках- там, где блок выделяется пробелами, перед строками блока будет написана фраза: # Далее Cдвиг – четыре пробела в начале каждой строки. Соответственно в листинг ставим четыре пробела в начало каждой строки. Там, где блок закончился, написано: # Далее Конец Cдвига – четыре пробела в начале каждой строки – и строки начинаются без пробелов в начале строки. Иногда меняется вид ковычек – это тоже не дает работать программе – искать такие ошибки лучше в «IDLE( Python GUI)».

Написание чисел с дробной десятичной частью.

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

Величины углов для расчета в программе необходимо задавать в радианах. Если программа в результат расчета выводит величину угла – то он выводится в радианах. Для человека ответ на экран удобнее выводить в градусах – при выводе на экран радианы програмно переводят в градусы. При вводе угловых величин- их обычно вводят в градусах и, перед подачей в расчетную часть программы, переводят програмно в радианы.

Написание комментариев.

Значок # предваряет начало комментариев. То, что следует за значком программа просто пропускает, переходя на следующую строку. Комментарий программист пишет себе для справки,чтобы потом ему или другому программисту было легче разобраться в работе программы.

Листинги программ:

Для расчета веса детали – деталь мысленно разобъем на ряд типовых элементов: на цилиндры, конуса, трубы и т.д. У элементов запишем все размеры с чертежа и длинны элементов. Затем запускаем программу Ves_G.py…

Программа выведет меню из 17 пунктов. Меню примитивное – на мышь меню не реагирует. Для выполнения какого либо пункта меню – вводим число – номер пункта меню и Enter.. Программа закольцована, при исполнении следующего пункта меню – результат расчета веса суммируется с ранее найденным результатом – в итоге мы постоянно имеем суммарный вес уже просчитанных элементов. Проограмма – Ves_G.py…головная – в зависимости от выбранного пункта меню – программа автоматически подключает к работе одну из 17 подпрограмм . Главное: Головная программа и детальные программы ( подпрограммы ) должны располагаться в папке Ves..

Примечание: Python 3.4 имеет особенность – когда головная программа вызывает подпрограммы, то как обычно, подпрограмма забирает исходные данные, расчитывает результат и отдает его головной программы. Но вот мы повторно вызваем подпрограмму для расчета по изменившимся исходным данным – Python 3.4 игнорирует, то что данные изменились и выдает нам предыдущий результат. Чтобы не попасть на такую ошибку, приходится вести учет применения подпрограмм – при первом применении считаем как обычно,

import Krug # Подключили модуль расчета круглого сечения

при втором и последующем применении подпрограмму вызываем функцией:

from imp import reload

reload (Krug) # Вызываем на повторный расчет подпрограмму (Krug)…

Только так получаем верные результаты.. ( В других языках программирования я такого не встречал !! )..

Программа Ves_G.py…

# -*– coding: cp1251 -*-

# Программа расчета веса и других параметров

# объемных геометрических элементов..

# Результаты расчета элемента смотри в файле Rezul.txt

# ===============================================

import sys # Подключили основные библиотеки

import shutil # Подключили модуль копирования файлов

import math # Подключили математич модуль

import time # Подключили модуль времени

import datetime # Подключили модуль даты

Pii=math.pi # Вытащили число " Пи "

# ..... ..... ..... ..... .... ...... ...... ....... ...... ...... ...... .......

# time.strftime("%d.%m.%Y") # Работа с датой и временем

# a = datetime.datetime.today().strftime("%Y%m%d")

# print(a) # '20170405'

today = datetime.datetime.today()

# print( today.strftime("%m/%d/%Y") ) # '04/05/2017'

# print( today.strftime("%Y-%m-%d-%H.%M.%S") ) # 2017-04-05-00.18.00

Ddd=( today.strftime("%Y-%m-%d-//-%H.%M.%S") )

# Gsf = 461030/2725231222..

print(" ")

Dds=" "+Ddd+" Расчет веса элементов детали "

print(Dds)

# input( ) # Ожидание нажима Ентер

# ..... ..... ..... ..... .... ...... ...... ....... ...... ...... ...... .......

fv = open('Vn.txt', 'r') # Открыли файл для чтения

# Читаем записанные число часов в текстовом виде

ct=fv.read()

fv.close() # закрыли файл

# ..... ..... ..... ..... .... ...... ...... ....... ...... ...... ...... .......

uu=" "

# print (uu)

# print (uu)

u=" Забрали из файла число часов ( строкой ) = "+ct

# print (u)

xt=float(ct) # Принудительно в вещественное число

xtc=int(xt) # Целое число часов из файла

# print (uu)

# ..... ..... ..... ..... .... ...... ...... ....... ...... ...... ...... .......

x=time.time() # Нашли число секунд из системы компьютера

x=float(x) # Принудительно в вещественное число

xtk=int(x) # Преобразуем секунды к целому числу

xtmk=int(x/60) # Преобразуем минуты к целому числу

xtck=int(x/3600) # Преобразуем часы к целому числу

utck=str(xtck) # Преобразуем число часов в строку

xtdk=int(xtck/24) # Преобразуем дни к целому числу

utdk=str(xtdk) # Преобразуем число дней в строку

uk=" Забрали из системы компьютера число часов = "+utck

# print (uk)

# print (uu)

y=int(xtck-xtc) # Разность часов из компа и из файла

uy=str(y) # Преобразуем число в строку

u=" Разность в часах с временем из файла = "+uy

# print (u)

# print (uu)

t1="."

t2="Ф"

t3="в"