首页 > 解决方案 > 如何一遍又一遍地使用 Python 方法?

问题描述

如果这将是最简单和最简单的解决方案,我可能会使用 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.")

谢谢!

标签: pythonloopswhile-loopiteration

解决方案


您可以使用 for 或 while 循环并将您已经编写的条件放入其中,因为您在其中一个上有 sys.exit() ,您可以使用,

while True:
    put your conditions here

你真的很接近完成你想要的只是学习ForWhile循环。


推荐阅读