﻿ Python: Test AB and CD are orthogonal or not - w3resource

# Python: Test AB and CD are orthogonal or not

## Python Basic - 1: Exercise-55 with Solution

There are four different points on a plane, P(xp,yp), Q(xq, yq), R(xr, yr) and S(xs, ys). Write a Python program to determine whether AB and CD are orthogonal.

Input:
xp,yp, xq, yq, xr, yr, xs and ys are -100 to 100 respectively and each value can be up to 5 digits after the decimal point It is given as a real number including the number of.
Output:
Output AB and CD are not orthogonal! or AB and CD are orthogonal!.

Sample Solution:

Python Code:

``````# Infinite loop to continuously prompt the user for input
while True:
try:
# Print statement to prompt the user to input coordinates of points xp, yp, xq, yq, xr, yr, xs, ys
print("Input xp, yp, xq, yq, xr, yr, xs, ys:")

# Take user input for the coordinates of points and convert them to float
x_p, y_p, x_q, y_q, x_r, y_r, x_s, y_s = map(float, input().split())

# Calculate vectors pq and rs
pq_x, pq_y = x_q - x_p, y_q - y_p
rs_x, rs_y = x_s - x_r, y_s - y_r

# Calculate the dot product of pq and rs
rs = pq_x * rs_x + pq_y * rs_y

# Check if the dot product is close to zero, and print the result accordingly
if abs(rs) > 1e-10:
print("AB and CD are not orthogonal!")
else:
print("AB and CD are orthogonal!")

# Exception handling to break out of the loop if an error occurs (e.g., invalid input)
except:
break
``````

Sample Output:

```Input xp, yp, xq, yq, xr, yr, xs, ys:
4.5 -2.5 -2.5 4.5 3.5 3.5 3.8 -3.5
AB and CD are not orthogonal!
```

Explanation:

Here is a breakdown of the above Python code:

• The code enters an infinite loop using "while True".
• Inside the loop, it prompts the user to input coordinates of points xp, yp, xq, yq, xr, yr, xs, ys.
• It takes user input for the coordinates and converts them to float.
• It calculates vectors pq and rs using the input coordinates.
• It calculates the dot product of 'pq' and 'rs'.
• It checks if the dot product is close to zero (within a tolerance), and prints the result accordingly.
• Exception handling is used to break out of the loop if an error occurs, such as invalid input.

Flowchart:

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿