• Предмет: Информатика
  • Автор: meowmee
  • Вопрос задан 3 месяца назад

как написать несколько условий одновременно для if в пайтоне? в скобки пробовала брать

Приложения:

Ответы

Ответ дал: slonce70
1
  • В строках if x1=x2 and x3=x4 and y1=y4 and y2=y3: вместо оператора сравнения == используется оператор присваивания =. Это приведет к тому, что условие всегда будет ложным, и блок кода внутри if никогда не будет выполнен. Кроме того, условие само по себе смысла не имеет, так как оно сравнивает разные точки на плоскости.
  • В строке l=sqrt((x2-x1)^2+(y2-y1)^2) оператор ^ используется для возведения в степень, но этот оператор не работает с целыми числами. Вместо этого нужно использовать оператор * для умножения.

    #include <cmath>

#include <iostream>

int main() {

 int x1, y1, x2, y2, x3, y3, x4, y4;

 std::cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4;

 if (x1 == x3 && x2 == x4 && y1 == y2 && y3 == y4) {

   int s = (x2 - x1) * (y3 - y2);

   std::cout << s << std::endl;

 } else {

   double l = std::sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));

   double h = std::sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2));

   std::cout << h * l << std::endl;

 }

 return 0;

}


Этот код сначала считывает координаты четырех точек с клавиатуры. Затем он проверяет, что точки расположены на одной прямой и рассчитывает площадь прямоугольника. В противном случае рассчитывается произведение сторон прямоугольника. Результат выводится на экран.

Вот Ваш исправленный код

x1 = int(input("x1 - "))

y1 = int(input("y1 - "))

x2 = int(input("x2 - "))

y2 = int(input("y2 - "))

x3 = int(input("x3 - "))

y3 = int(input("y3 - "))

x4 = int(input("x4 - "))

y4 = int(input("y4 - "))

if x1 == x2 and x3 == x4 and y1 == y4 and y2 == y3:

   s = (x2 - x1) * (y3 - y2)

   print(s)

else:

   l = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)

   h = math.sqrt((x3 - x2) ** 2 + (y3 - y2) ** 2)

   print(h * l)


slonce70: Написал)
meowmee: чувак ти геній
meowmee: я з тебе вахуі ти мегамозг
Вас заинтересует