Python实现直角坐标系求两点间距离

用到了numpy来求平方根,可以用math等代替。里面包含了异常处理等功能,如果认为代码有冗余可以删去。

数学公式:

Python实现直角坐标系求两点间距离_第1张图片

 接下来就好办了,将坐标记录好之后平方,相加,开方即可。

代码实现:

import numpy as np


# 计算函数
def calculate(a, b):
    while True:
        try:
            x_position = pow(a[0] - b[0], 2)  # 平方运算
            y_position = pow(a[1] - b[1], 2)
            result = np.sqrt(x_position + y_position)  # 相加并开方
        except Exception as e:  # 异常处理
            print(e)
            continue
        else:  # 输出结果
            print(f'A到B点的距离为: {result}')
            return result
        finally:
            print(f'\n{"-"*15}\ncalculate finished')


# 主函数
def main():
    flag = 'y'
    count = 0
    while flag == 'y':
        try:  # 用户输入
            x_1, y_1 = eval(input('输入A点坐标(英文输入法的逗号隔开):'))
            a_position = (x_1, y_1)
            x_2, y_2 = eval(input('输入B点坐标(英文输入法的逗号隔开):'))
            b_position = (x_2, y_2)
        except Exception as e:  # 异常处理
            print(f'{e}\n请重新输入\n{"-"*15}')
            continue
        else:  # 再来一次
            print(f'begin calculate\n{"-"*15}\n')
            calculate(a_position, b_position)
            count += 1
            flag = str(input("\n重来吗(y/n): ")).lower()

    print(f'\n共计计算{count}次,欢迎下次使用')

if __name__ == '__main__':
    main()

    

注意:输入时要以英文输入法的逗号隔开,否则将触发异常。

结果展示:

Python实现直角坐标系求两点间距离_第2张图片

你可能感兴趣的:(Python,python)