π ΠΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π² Python: ΠΏΡΠΎΡΡΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
import math
def distance(x1, y1, x2, y2):
return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
x1 = 2
y1 = 3
x2 = 5
y2 = 7
result = distance(x1, y1, x2, y2)
print(result)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ `distance`, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΄Π²ΡΡ
ΡΠΎΡΠ΅ΠΊ `(x1, y1)` ΠΈ `(x2, y2)`. ΠΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΠΌΡΠ»Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ: `sqrt((x2 - x1)**2 + (y2 - y1)**2)`. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ `distance` Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΡΠΎΡΠ΅ΠΊ `(2, 3)` ΠΈ `(5, 7)` ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ `math`, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ `sqrt`.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π² Python?
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅. Π ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΡΠ»Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅
Π‘Π°ΠΌΠΎΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΎΠΉ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ ΠΈΠ· ΡΡΠΌΠΌΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ² ΡΠ°Π·Π½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠ΅ΠΊ.
ΠΠ»Ρ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ (x1, y1) ΠΈ (x2, y2) Π΅Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΌΡΠ»Ρ:
import math
def distance(x1, y1, x2, y2):
return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ math, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sqrt(), ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π΅ΠΌ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ. Π€ΡΠ½ΠΊΡΠΈΡ distance() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΡΡΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (x, y) ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΠΎΡΠ΅ΠΊ. ΠΠ½Π° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ distance():
point1 = (1, 2)
point2 = (4, 6)
print(distance(*point1, *point2)) # ΠΡΠ²Π΅Π΄Π΅Ρ: 5.0
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ point1 ΠΈ point2, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ distance(), ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π΅ΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠ΅ΠΊ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 5.0.
Manhattan ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅
ΠΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Manhattan ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ. ΠΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠΌΠΌΠ° Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠ΅ΠΊ.
ΠΠ»Ρ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ (x1, y1) ΠΈ (x2, y2) Manhattan ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΌΡΠ»Ρ:
def distance(x1, y1, x2, y2):
return abs(x2 - x1) + abs(y2 - y1)
Π€ΡΠ½ΠΊΡΠΈΡ distance() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΡΡΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (x, y) ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΠΎΡΠ΅ΠΊ. ΠΠ½Π° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ distance():
point1 = (1, 2)
point2 = (4, 6)
print(distance(*point1, *point2)) # ΠΡΠ²Π΅Π΄Π΅Ρ: 7
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ point1 ΠΈ point2, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ distance(), ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π΅ΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠ΅ΠΊ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 7.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π² Python Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΌΡΠ»Π°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°: Π΅Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ ΠΈ Manhattan ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ Π²Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ.