Python

Преобразовать код pascal в python

program Begin21;
var
x1,y1,x2,y2,x3,y3,a,b,c,P,pp,S: Real;{pp-полупериметр}
begin
Writeln('Введите значение координат певой точки: ');
Write('Введите значение x: ');
Readln(x1);
Write('Введите значение y: ');
Readln(y1);
Writeln('Введите значение координат второй точки: ');
Write('Введите значение x: ');
Readln(x2);
Write('Введите значение y: ');
Readln(y2);
Writeln('Введите значение координат третьей точки: ');
Write('Введите значение x: ');
Readln(x3);
Write('Введите значение y: ');
Readln(y3);
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:=sqrt(sqr(x2-x3)+sqr(y2-y3));
c:=sqrt(sqr(x3-x1)+sqr(y3-y1));
P:=a+b+c;
Writeln('Периметр треугольника равен: ',P);
pp:=(a+b+c)/2;
S:=Sqrt(pp*(pp-a)*(pp-b)*(pp-c));
Writeln('Площадь треугольника равен: ',S);
end.
Вот:
 from math import sqrt

def sqr(f): return f * f

print('Введите значение координат первой точки:')
x1 = float(input('Введите значение x: '))
y1 = float(input('Введите значение y: '))
print('Введите значение координат второй точки:')
x2 = float(input('Введите значение x: '))
y2 = float(input('Введите значение y: '))
print('Введите значение координат третьей точки:')
x3 = float(input('Введите значение x: '))
y3 = float(input('Введите значение y: '))

a = sqrt(sqr(x1 - x2) + sqr(y1 - y2))
b = sqrt(sqr(x2 - x3) + sqr(y2 - y3))
c = sqrt(sqr(x3 - x1) + sqr(y3 - y1))

P = a + b + c
print('Периметр треугольника равен:', P)
pp = P / 2
S = sqrt(pp * (pp - a) * (pp - b) * (pp - c))
print('Площадь треугольника равна:', S)
Пример:
 Введите значение координат первой точки:
Введите значение x: 2
Введите значение y: 1
Введите значение координат второй точки:
Введите значение x: 5
Введите значение y: 6
Введите значение координат третьей точки:
Введите значение x: 9
Введите значение y: 0
Периметр треугольника равен: 20.113122257638754
Площадь треугольника равна: 18.999999999999996

Попутно исправил грамматические ошибки.

Если погрешность float на выходе смущает, то можно воспользоваться форматом, уменьшив кол-во значащих цифр:
 print('Площадь треугольника равна: %.4f' % S) 
Тогда будет так:
 Площадь треугольника равна: 19.0000 
СВ
Сергей Володин
87 571
Лучший ответ
Джалилов Жахангир Спасибо большое
Сократил:
 from math import prod, sqrt 
points = [(float(input(f'Введите значение координат {n} точки:\nВведите значение x: ')), float(input('Введите значение y: '))) for n in ('первой', 'второй', 'третьей')]
sides = [sqrt((points[i][0] - points[(0, i + 1)[i != 2]][0]) ** 2 + ((points[i][1] - points[(0, i + 1)[i != 2]][1]) ** 2)) for i in range(3)]
print('Периметр треугольника равен:', perimeter := sum(sides))
print('Площадь треугольника равна:', sqrt((perimeter := perimeter / 2) * prod(perimeter - side for side in sides)))
Результат:
 Введите значение координат первой точки: 
Введите значение x: 2
Введите значение y: 1
Введите значение координат второй точки:
Введите значение x: 5
Введите значение y: 6
Введите значение координат третьей точки:
Введите значение x: 9
Введите значение y: 0
Периметр треугольника равен: 20.113122257638754
Площадь треугольника равна: 19.0
Vladimir Shakhov
Vladimir Shakhov
81 757
Как можно преобразовать физика Паскаля в змею?
Никак.
Alex Trofimov
Alex Trofimov
7 402