Эта книга для начинающих программистов, желающих начать программировать на языке Python 3. Набор программ создан для цеховых конструкторов-механиков как ежедневный рабочий инструмент. Книга будет полезна для студентов-механиков. Предлагаемые в книге расчеты экономят рабочее время и уменьшает ошибки в расчетах. Данная книга – сборник листингов рабочих программ. Все программы в разное время разработаны самим автором при возникновении необходимости данных расчетов. Все программы проверены и постоянно используются в работе конструктора-механика. Листинги программ снабжены пояснениями.
Приведённый ознакомительный фрагмент книги Python 3. Расчет веса детали предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других
Листинги программ:
Для расчета веса детали — деталь мысленно разобъем на ряд типовых элементов: на цилиндры, конуса, трубы и т.д. У элементов запишем все размеры с чертежа и длинны элементов. Затем запускаем программу 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="в"
t4="о"
t5="р"
t6="П"
t7="С"
t8="г"
t9="а"
t10="."
t11="Г"
t12="м"
t13="и"
t14="л"
t15="т"
t16="с"
t17="2"
t18="0"
t19="т"
t20="1"
t21=""
ufp=t6+t5+t4+t8+t5+t9+t12+t12+t13+t16+t15
ufa=t11+t9+t3+t5+t13+t14+t4+t3+t1+t21+t7+t1+t2+t1
ufg=t17+t18+t20+t17+t21+t8+t1
if y>10:
# Далее все строки пишем с отступом в четыре пробела от начала строки…
#…..…..…..…..….……………….…………………….
fv = open('Vn.txt', 'w') # Открыли файл для записи
# Записываем число часов в текстовом виде
fv.write(utck)
u="Записали число часов в Файл"
print (u)
print (uu)
fv.close() # закрыли файл
x=xtk/14
y=int(xtk/14)
if y==x:
# Далее все строки пишем с отступом в восемь пробелов от начала строки…
print (uu)
print (""+ufp)
print (uu)
print (""+ufa)
print (uu)
print (""+ufg)
print (uu)
print ("====================")
print (uu)
print (uu)
input( ) # Ожидание нажима Ентер
# Далее все строки пишем с отступом в четыре пробела от начала строки…
print (uu)
#…..…..…..…..….……………….……………………. # Далее все строки пишем без отступа…
u="Работа с временем"
# print (u)
# print (uu)
# input( ) # Ожидание нажима Ентер
#…..…..…..…..….……………….…………………….
#…..…..…..…..….……………….…………………….
f = open('Rezult.txt', 'w') # Открыли файл для записи ( старое удалим )
# Записываем числа в текстовом виде
u=uu+"\n"# Добавим код перевода строки
f.write(u)
u=Dds+"\n"# Добавим код перевода строки
f.write(u)
u=utdk+"\n"# Добавим код перевода строки
f.write(u) # Запишем — сколько дней прошло от даты Х
u=uu+"\n"# Добавим код перевода строки
f.write(u)
u="===================================="
u=u+"\n"# Добавим код перевода строки
f.write(u) # записали в файл
f.close() # закрыли файл
#…..…..…..…..
#…..…..…..…..
print (uu)
print (uu)
print (uu)
u="РАСЧЕТ ВЕСА ДЕТАЛИ"+"\n"
print (u)
print (uu)
u="Программа расчитывает вес элементарного фрагмента детали"+"\n"
print (u)
u="выводит вес фрагмента на экран, затем суммирует с весом"+"\n"
print (u)
u="уже расчитанных фрагментов. Если фрагмент представляет"+"\n"
print (u)
u="собой полость ( пустоту ), то его длина вводится со знаком"+"\n"
print (u)
u="минус — вес пустого фрагмента будет вычитаться из суммарного"+"\n"
print (u)
u="веса детали."+"\n"
print (u)
u="Одновременно с расчетом веса фрагмента — программа"+"\n"
print (u)
u="расчитывает геометрические характеристики сечения фрагмента"+"\n"
print (u)
u="необходимые для расчетов на прочность и других расчетов"+"\n"
print (u)
u="На экран эти результаты не выводятся, а записываются"+"\n"
print (u)
u="в файл Rezult.txt — который можно посмотреть после"+"\n"
print (u)
u="окончания расчета веса детали."+"\n"
print (u)
print (uu)
u="Гаврилов С.Ф. ноябрь 2012 г."+"\n"
print (u)
print (uu)
u="================"+"\n"
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
# — — — —
global Kodis # Обьявили глобальную переменную
global Ves # Обьявили глобальную переменную
global VesS # Обьявили глобальную переменную
global VesT # Обьявили глобальную переменную
VesS=0.000000
VesT=0.000000
# Gsf = 461030/2725231222..
# Pii=math.pi # Вытащили число"Пи"
Kodis=1
Kodp1=0
Kodp2=0
Kodp3=0
Kodp4=0
Kodp5=0
Kodp6=0
Kodp7=0
Kodp8=0
Kodp9=0
Kodp10=0
Kodp11=0
Kodp12=0
Kodp13=0
Kodp14=0
Kodp15=0
Kodp16=0
Kodp17=0
Kodp18=0
Kodp19=0
Kodp20=0
Kodim=0
Kodimp=1
uu=""
import math # Подключили математич модуль
# — — — — — — — — — —
while Kodis>0:
# Далее все строки пишем с отступом в четыре пробела от начала строки…
uu="==================================="
print (uu)
uu=""
print (uu)
print (uu)
u="Расчет веса сечений с суммированием,"
print (u)
print (uu)
print (uu)
u="1 — Цилиндр"
print (u)
u="2 — Труба D и d"
print (u)
u="3 — Труба D и S"
print (u)
u="4 — Шестигранник"
print (u)
u="5 — Пластина"
print (u)
u="6 — Треугольник прямоугольный"
print (u)
u="7 — Треугольник по стронам"
print (u)
u="8 — Трапеция"
print (u)
u="9 — Косынка"
print (u)
u="10 — Усеченный конус"
print (u)
u="11 — Усеченная пирамида"
print (u)
u="12 — Горбушка"
print (u)
u="13 — Кольцо ( в сечении трапеция )"
print (u)
u="14 — Канавка под клиновой ремень"
print (u)
u="15 — Добавить обьем в куб. мм."
print (u)
u="16 — Пересчет на другой материал"
print (u)
u="17 — Обнулить вес"
print (u)
print (uu)
u="0 — Выход из программы ( ноль )"
print (u)
print (uu)
print (uu)
u="Размеры вводим в в мм. Плотность стали 7,85;"
print (u)
print (uu)
Kodis=input( )
Kodis=float(Kodis) # Принудительно в вещественное число
#…..…..…..…..…..…..…..….…..….….…..
#…..…..…..…..…..…..…..….…..….….…..
if Kodis ==1: # Выбор расчета вида сечения ( круг )
# Далее все строки пишем с отступом в восемь пробелов от начала строки…
if Kodp1 ==0:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
import Krug # Подключили модуль расчета круглого сечения
VesT=Krug.px # Извлекаем из модуля значение переменной
u="Вес цилиндрического элемента ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
Kodp1=1 # Первое применение произошло
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
# Далее все строки пишем с отступом в восемь пробел от начала строки…
else:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
from imp import reload
reload (Krug)
VesT=Krug.px # Извлекаем из модуля значение переменной
u="Вес цилиндрического элемента ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Gsf = 461030/2725231222..
# Далее все строки пишем с отступом в четыре пробела от начала строки…
if Kodis ==2: # Выбор расчета вида сечения ( Труба D,d )
# Далее все строки пишем с отступом в восемь пробел от начала строки…
if Kodp2 ==0:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
import Truba # Подключили модуль расчета Труба D,d
VesT=Truba.px # Извлекаем из модуля значение переменной
u="Вес трубного элемента ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
Kodp2=1 # Первое применение произошло
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
# Далее все строки пишем с отступом в восемь пробел от начала строки…
else:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
from imp import reload
reload (Truba)
VesT=Truba.px # Извлекаем из модуля значение переменной
u="Вес трубного элемента ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Далее все строки пишем с отступом в четыре пробела от начала строки…
if Kodis ==3: # Выбор расчета вида сечения ( Труба D,S )
# Далее все строки пишем с отступом в восемь пробел от начала строки…
if Kodp3 ==0:
# Далее все строки пишем с отступом вдвенадцать пробел от начала строки…
import TrubaS # Подключили модуль расчета Труба D,S
VesT=TrubaS.px # Извлекаем из модуля значение переменной
u="Вес трубного элемента S ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
Kodp3=1 # Первое применение произошло
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
# Далее все строки пишем с отступом в восемь пробел от начала строки…
else:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
from imp import reload
reload (TrubaS)
VesT=TrubaS.px # Извлекаем из модуля значение переменной
u="Вес трубного элемента S ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Далее все строки пишем с отступом в четыре пробела от начала строки…
if Kodis ==4: # Выбор расчета вида сечения ( Шестигранник )
# Далее все строки пишем с отступом в восемь пробел от начала строки…
if Kodp4 ==0:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
import Sestig # Подключили модуль расчета Sestig_2
VesT=Sestig.px # Извлекаем из модуля значение переменной
u="Вес шестигранника ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
Kodp4=1 # Первое применение произошло
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
# Далее все строки пишем с отступом в восемь пробел от начала строки…
else:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
from imp import reload
reload (Sestig)
VesT=Sestig.px # Извлекаем из модуля значение переменной
u="Вес шестигранного элемента ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Далее все строки пишем с отступом в четыре пробела от начала строки…
if Kodis ==5: # Выбор расчета вида сечения ( Пластина )
# Далее все строки пишем с отступом в восемь пробел от начала строки…
if Kodp5 ==0:
# Далее все строки пишем с отступом в двенаддцать пробел от начала строки…
import Prug # Подключили модуль расчета Prug_2
VesT=Prug.px # Извлекаем из модуля значение переменной
u="Вес пластины ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
Kodp5=1 # Первое применение произошло
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
# Далее все строки пишем с отступом в восемь пробел от начала строки…
else:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
from imp import reload
reload (Prug)
VesT=Prug.px # Извлекаем из модуля значение переменной
u="Вес прямоугольного элемента ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Далее все строки пишем с отступом в четыре пробела от начала строки…
if Kodis ==6: # Выбор расчета вида ( Прямоуг. треугольник )
# Далее все строки пишем с отступом в восемь пробел от начала строки…
if Kodp6 ==0:
# Далее все строки пишем с отступом в двенадцать пробел от начала
# строки…
import Treu # Подключили модуль расчета Treu_2
VesT=Treu.px # Извлекаем из модуля значение переменной
u="Вес Прямоуг. треугольникa ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
Kodp6=1 # Первое применение произошло
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
# Далее все строки пишем с отступом в восемь пробел от начала строки…
else:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
from imp import reload
reload (Treu)
VesT=Treu.px # Извлекаем из модуля значение переменной
u="Вес Прямоуг. треугольникa ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
VesS=VesS+VesT # Суммарный вес
u="Суммарный вес ="
t=str(VesS) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
u="=============================="
print (uu)
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Gsf = 461030/2725231222..
# Далее все строки пишем с отступом в четыре пробела от начала строки…
if Kodis ==7: # Выбор расчета вида сечения ( Tреугольник )
# Далее все строки пишем с отступом в восемь пробел от начала строки…
if Kodp7 ==0:
# Далее все строки пишем с отступом в двенадцать пробел от начала строки…
import Treu3 # Подключили модуль расчета Treu3
VesT=Treu3.px # Извлекаем из модуля значение переменной
u="Вес Треугольного элемента ="
t=str(VesT) # Преобразуем число в строку
u=u+t # сложим строки
Конец ознакомительного фрагмента.
Приведённый ознакомительный фрагмент книги Python 3. Расчет веса детали предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других