πŸ˜„ Как Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π² Python: простоС руководство

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π² 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 расстояниС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… потрСбностСй вашСй Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π½Π° Π—Π΅ΠΌΠ»Π΅ (ΠœΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python

6.3 Π•Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ расстояниС. "ПоколСниС Python": курс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. ΠšΡƒΡ€Ρ Stepik

Π•Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ расстояниС Π½Π° ΠΏΠ°Π»ΡŒΡ†Π°Ρ…. Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”§ Как Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство Π·Π½Π°ΠΊΠΎΠ² послС запятой для форматирования чисСл?

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΈΡ‚ΠΎΠ½ Π² ΠšΠœΠ”: подробная инструкция с использованиСм простого ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова

Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² Python: простой Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

πŸ˜„ Как Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π² Python: простоС руководство

🎯 Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: понятноС объяснСниС для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… 🐍

Какая функция Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‡Ρ‚ΠΎ Π»ΠΈΠ±ΠΎ Π² консоль Π½Π° языкС Python? 😱πŸ”₯

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ for range Π² Python ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?