print('''========================= ОКРАСКА ========================= \nДобро пожаловать в программу по расчету площади окраски! Вы можете выбрать один из вариантов расчета: ''') def var(): #Выбор варианта расчета print(''' \nНажмите 1, если знаете наружный диаметр и длину. \nНажмите 2, если знаете наружный диаметр, толщину стенки и общий вес. \nНажмите 3, если передумали считать и хотите выйти из программы.''') variant=input('\n Введите номер варианта расчета: ') print('='*60) if variant=='1': po_dline() elif variant=='2': po_vesu() elif variant=='3': print('До Свидания!') exit else: print('Только 1, 2 или 3') var() def po_dline(): print('''\n Расчитаем площадь окрашиваемой поверхности зная наружный диаметр и длину.''') print('\nВнимание!! Диаметр вводим в миллиметрах, а длину трубы - в метрах.') print('='*60) while 1: #Проверка введенных данных. try: dim=float(input('Введите наружный диаметр трубы: ')) break except ValueError: print('Введите число!!') print('='*60) while 1: #Проверка введенных данных. try: dlina=float(input('Введите длину трубы: ')) break except ValueError: print('Введите число!!') sq=3.14159*dim*dlina*0.001 print('='*60) print('Площадь окрашиваемой поверхности %s м2' % round(float(sq), 2)) print('='*60) vihod() def vihod(): ex=input('\nЕще будем считать? Д/Н ') if ex=='l' or ex=='д': var() elif ex=='y' or ex=='н': print('Пока!!') exit() else: print('\nТолько Д (Да, будем считать) или Н (Нет, не будем).') vihod() def po_vesu(): print('''\n Расчитаем площадь окрашиваемой поверхности зная наружный диаметр, толщину стенки и вес.''') print('\nВнимание!! Диаметр и толщину стенки вводим в миллиметрах, вес - в килограммах.') print('='*60) while 1: #Проверка введенных данных. try: dim=float(input('\n Введите наружный диаметр трубы: ')) break except ValueError: print('='*60) print('\n Введите число!!') while 1: #Проверка введенных данных. try: s=float(input('\n Введите толщину стенки: ')) break except ValueError: print('\n Введите число!!') while 1: #Проверка введенных данных. try: ves=float(input('\n Введите общий вес трубы: ')) break except ValueError: print('\n Введите число!!') dim_vn=dim-2*s s_sec1=(3.14*dim**2)/4 s_sec2=(3.14*dim_vn**2)/4 s_sec=s_sec1-s_sec2 dlina=ves/(s_sec*7.85) s_pov=3.14159*dim*dlina print('\n Площадь окрашиваемой поверхности %s м2' % round(float(s_pov), 2)) vihod() var()