Сделал впервые за 2 семестра лабу для программирования.
import msvcrt
from Part2 import trs
def main():
print('Программу написал студент.')
print('Программа для нахождения площади треугольника с помощью формулы Герона', '\n')
while True:
print('Выберите способ получения данных, где:')
print('1 - введение данных с помощью клавиатуры')
print('2 - введение данных из файла', '\n')
if int(input()) == 1:
print('Введите значения сторон треугольника с клавиатуры:')
a, b, c = int(input('a=')), int(input('b=')), int(input('c='))
else:
s=[]
book = open('Data.txt', 'r', encoding='utf-8')
with open('Data.txt', 'r') as f:
for line in f.readlines():
if line != '\n':
s.append(line.rstrip('\n'))
a = int(s[0])
b = int(s[1])
c = int(s[2])
if a < b + c and b < a + c and c < a + b:
S = trs(a, b, c)
print('Площадь треугольника со сторонами:', a, b, c, '=', S)
print('Если хотите выйти из программы нажмите Enter(энтер), если нет, то любую другую клавишу.', '\n')
pressedKey = msvcrt.getch()
if pressedKey == b'\r' or pressedKey == b'\n':
exit()
else:
print()
print('Введены неверные значения сторон треугольника, введите их заново, чтобы выполнялись неравенства:', 'a < b + c', 'b < a + c', 'c < a + b', sep='\n')
print()
continue
main()
from math import *
def trs(a,b,c):
p = 0.5*(a+b+c)
return sqrt(p*(p-a)*(p-b)*(p-c))