 # PYTHON REMINDER

Last update:   09-12-2021

### Pythagora (A)

p104 The goal of incremental development is to avoid long debugging. By Pythagorean Theorem, the distance betwee two points is: $d = \sqrt{(x2-x1)^2 + (y2-y1)^2}$

### First step

The first step will be to define the function, with wrong answer but syntactically correct.  # Incremental development - Pythagorean Theorem
#
#    d = square( (x2-x1)^2 + (y2-y1)^2 )

# First: Define the function, with wrong answer but syntactically correct

def distance(x1, y1, x2, y2):
return 0.0

assert distance(1, 2, 4, 6) == 0.0


### Second

The next step is to find the differences x2-x1, y2-y1  # Incremental development - Pythagorean Theorem
#
#    d = square( (x2-x1)^2 + (y2-y1)^2 )
#
# Second: Find the differences x2-x1, y2-y1

def distance(x1, y1, x2, y2):
dx = x2 - x1
dy = y2 - y1
return 0.0

assert distance(1, 2, 4, 6) == 0.0


### Third

Then we compute the sum of squares.  # Incremental development - Pythagorean Theorem
#
#    d = square( (x2-x1)^2 + (y2-y1)^2 )
#
# Third: Compute the sum of squares

def distance(x1, y1, x2, y2):
dx = x2 - x1
dy = y2 - y1
sum = dx**2 + dy**2
return 0.0

assert distance(1, 2, 4, 6) == 0.0


### Forth

Finally, you can use math.sqrt() to compute the result.  # Incremental development - Pythagorean Theorem
#
#    d = square( (x2-x1)^2 + (y2-y1)^2 )
#
# Third: Use math.sqrt() to compute the result

import math

def distance(x1, y1, x2, y2):
dx = x2 - x1
dy = y2 - y1
sum = dx**2 + dy**2
return math.sqrt(sum)

d = distance(1, 2, 4, 6)

assert distance(1, 2, 4, 6) == 5.0


Questions     github Applications
A B C D E F
🔔
1/2