Python编程题:编程求两点之间的曼哈顿距离?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python编程题:编程求两点之间的曼哈顿距离?相关的知识,希望对你有一定的参考价值。

编程求两点之间的曼哈顿距离。
要求:主程序代码如下,实现函数abs()。
01 #主程序
02 x1,y1=eval(input("输入A点坐标,以逗号分隔:"))
03 x2,y2=eval(input("输入B点坐标,以逗号分隔:"))
04 mht=abs(x1-x2)+abs(y1-y2)
提示:给出平面上两个点的坐标,平面上点A(x1,y1)与点B(x2,y2)的曼哈顿距离为:
|x1-x2|+|y1-y2|。


def My_abs(num):
if num < 0:
num *= -1
return num


print(abs(-5))

x1,y1=eval(input("输入A点坐标,以逗号分隔:"))
x2,y2=eval(input("输入B点坐标,以逗号分隔:"))


# 计算曼哈顿距离的函数
def getManhattanDistance(x1, y1, x2, y2):
return My_abs(x1 - x2) + My_abs(y1 - y2)


# 调用并输出计算的曼哈顿距离
print(getManhattanDistance(x1, y1, x2, y2))



abs在Python中有了,然后我就命名成了My_abs。

备注也都打好了。

折柳成荫写的是C,soulofbug写的是python

参考技术A #include<stdio.h>
#include<math.h>
int main()

float x1,x2,y1,y2;
printf("请输入二个点的坐标:");
scanf("%f %f %f %f",&x1,&y1,&x2,&y2);
printf("二个点的曼哈顿距离是:%f\n",fabs(x1-x2)+fabs(y1-y2));
return 0;
追问

不好意思啊,你这个是C语言的编程,请问可以用Python吗?麻烦了

本回答被提问者采纳
参考技术B 就是让你实现一个ABS而已嘛
def abs(x):
return x if x>0 else -x

然后其他自己做了
参考技术C 必要的话,OK!

期末考试——编程题#3:最远距离

 

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

给定一组点(x,y),求距离最远的两个点之间的距离。

 

输入

第一行是点数n(n大于等于2)

接着每一行代表一个点,由两个浮点数x y组成。

 

输出

输出一行是最远两点之间的距离。

使用cout << fixed << setprecision(4) << dis << endl;输出距离值并精确到小数点后4位。

fixed和setprecision是在<iomanip>头文件里定义的格式控制操作符,需要#include <iomanip>.

 

样例输入

6
34.0 23.0
28.1 21.6
14.7 17.1
17.0 27.2
34.7 67.1
29.3 65.1

 

样例输出

53.8516

 1 #include<iostream>
 2 #include<iomanip>
 3 #include<cmath>
 4 int main()
 5 {
 6     using namespace std;
 7     int num;
 8     double x[100], y[100], max = 0;
 9     cin >> num;
10     if (num < 2)
11         cout << "error!";
12     else
13     {
14 
15         for (int i = 0; i < num; i++)
16         {
17             cin >> x[i] >> y[i];
18         }
19         for (int i = 0; i < num - 1; i++)
20             for (int j = i; j < num - 1; j++)
21             {
22                 double a = sqrt((x[i] - x[j + 1])*(x[i] - x[j + 1]) + (y[i] - y[j + 1])*(y[i] - y[j + 1]));
23                 if (a > max) {
24                     max = a;
25                 }
26             }
27         cout << fixed << setprecision(4) << max << endl;
28     }
29     return 0;
30 }

 

以上是关于Python编程题:编程求两点之间的曼哈顿距离?的主要内容,如果未能解决你的问题,请参考以下文章

期末考试——编程题#3:最远距离

Matlab求两个向量之间的各种距离

Python编程题 编写两点函数的最大值,并调用此函数求8和3的最大值

1062. 计算曼哈顿距离

曼哈顿最小生成树

最远 Manhattan 距离