【发布时间】:2021-05-23 09:58:45
【问题描述】:
如果这是最简单和最简单的解决方案,我可能会使用 while 循环。基本上,我希望用户能够输入是否要输入更多坐标或以不同的距离方法(曼哈顿、欧几里得或切比雪夫)计算坐标。
提前非常感谢!
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.")
谢谢!
【问题讨论】:
-
你想过你的休息条件可能是什么吗?
标签: python loops while-loop iteration