Ваши уравнения кажутся правильными, за исключением небольшой детали, специфичной для Python.Решение оказывается очень простым: преобразовать все входные данные в float .
x1=float(input("P1"))
y1=float(input("rho1"))
v1=float(input("velocity1"))
Проблема заключалась в том, что x1/y1
в выражении для f3
было оценено с помощью целочисленное деление (которое усекает результат) вместо деление с плавающей точкой .
Это означает, что вы, вероятно, тестировали с целочисленными значениями.Подача исходного кода в формате float (например, 5.0, 14.0, 3.0
) также работала как ожидалось.