2012-11-29 60 views
4

我的任务是计算一个矩形和坐标系中的0/0点之间的距离并打印一个特定的答案。如果距离接近100米(系统单位为米,1单位= 1米),则应打印100米,如果距离为< 200米,打印101米...计算距离并打印出来

我学会了,我可以使用毕达哥拉斯定理得到两个坐标之间的距离。我在我的程序中实现了它(使用Python),但是我在输出中遇到了一些麻烦。

让我们尝试的例子。坐标为(-400,200)的矩形; (-300,200); (-300,300); (-400,300)距离点(0/0)360m。正确的输出将是“103m”。

之前有人问过这样的话,他们说,你必须将距离分为100,并将其添加到“10 {}”。

print("10{}m".format(distance//100)) 

实际上,这适用于1000以下的所有东西。如果坐标是(-4000,2000); (-3000,2000); (-3000,3000); (-4000,3000),正确的距离将是“3605米”,它应该输出“136米”。

希望你能理解我的案例/问题!

回答

3
print("{:d}m".format(100+(distance//100))) 

例如,

In [16]: distance = 50; "{:d}m".format(100+(distance//100)) 
Out[16]: '100m' 

In [17]: distance = 360; "{:d}m".format(100+(distance//100)) 
Out[17]: '103m' 

In [18]: distance = 3605; "{:d}m".format(100+(distance//100)) 
Out[18]: '136m' 
+0

谢谢! “:d”代表什么? – ThinkDifferent

+1

':d'将该值格式化为整数。如果输入不是整数,则会引发一个“ValueError”。即使删除':d',结果也是一样的,但我想强调的是,期望的输入是一个整数。 – unutbu

+0

很高兴知道。谢谢! – ThinkDifferent