2012-11-29 99 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