0

I would like to maybe use a while loop if that would be the easiest and most simple solution. Basically, I would like the user to be able to input if they want to enter more coordinates or calculate the coordinates in a different distance method (Manhattan, Euclidean, or Chebyshev).

Thanks so much in advance!

import sys
import math

def manhattanDistance():
    print("Enter your coordinates")
    print("----------------------")
    x1 = input("Enter X1: ")
    x2 = input("Enter X2: ")
    y1 = input("Enter Y1: ")
    y2 = input("Enter Y2: ")
    manhattan = abs(int(x1) - int(x2)) + abs(int(y1) - int(y2))
    print("Manhattan distance: " + str(manhattan))

def euclideanDistance():
    print("Enter your coordinates")
    print("----------------------")
    x1 = input("Enter X1: ")
    x2 = input("Enter X2: ")
    y1 = input("Enter Y1: ")
    y2 = input("Enter Y2: ")
    euclidean = math.dist([int(x1), int(y1)], [int(x2), int(y2)])
    print("Euclidean distance: " + str(euclidean))

def chebyshevDistance():
    print("Enter your coordinates")
    print("----------------------")
    x1 = input("Enter X1: ")
    x2 = input("Enter X2: ")
    y1 = input("Enter Y1: ")
    y2 = input("Enter Y2: ")
    chebyshev = max(int(y2) - int(y1), int(x2) - int(x1))
    print("Chebyshev distance: " + str(chebyshev))

method = input("Which distance method would you like to use?\n(1) Manhattan\n(2) Euclidean\n(3) Chebyshev\nType 'Exit' to leave program.\n")

if method == "1":
    manhattanDistance()

elif method == "2":
    euclideanDistance()

elif method == "3":
    chebyshevDistance()

elif method == "exit" or "Exit" or "EXIT":
    sys.exit()
    
else:
    print("Please enter 1, 2, or 3... or type 'Exit' to leave program.")

Thanks!

Sean
  • 19
  • 2

1 Answers1

1

You could use for or while loops and put the conditions you already wrote inside, since you have a sys.exit() on one of those, you could just use,

while True:
    put your conditions here

You are really close to accomplishing what you want just study For and While loops.