Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def compute_len(x1, x2, y1, y2):
- len_line = math.sqrt((x1 - x2)**2 + (y1-y2) ** 2)
- return len_line
- # Введем исходные данные
- ox = '27 53 44 88 35 86 92 20 10 73 81'# координаты населенных пунктов по оси ОХ - УДАЛИТЬ НА САЙТЕ
- #coord_ox = input() #- ДЛЯ ЗАПУСКА НА ПЛАТФОРМЕ
- oy = '97 22 57 58 37 55 34 29 80 55 71'# координаты населенных пунктов по оси ОУ - УДАЛИТЬ НА САЙТЕ
- #coord_oy = input() #- ДЛЯ ЗАПУСКА НА ПЛАТФОРМЕ
- # Конвертируем строки в списки вещественных чисел
- x = [float(i) for i in ox.split()] # сразу создаём список вещественных чисел, коориднаты по оси X
- y = [float(i) for i in oy.split()] # координаты по оси Y, вещественные числа
- #print(coord_oy)
- k = 7 #номер населенного пункта УДАЛИТЬ НА САЙТЕ
- #k = int(input())
- r = 68 # радиус действия радиостанции
- #radius = float(input())
- #2. Подставляем значения из списков в функцию расчета расстояния между точками.
- # Пытаюсь расчитать значение расстояний между точками.
- # Cписок из значений расстояний между населенными пунктами, исходя из их координат.
- distances = [compute_len(x[k], y[k], x[i], y[i]) for i in range(len(x))]
- print(distances, '- список расстояний') # выводим для наглядности
- # 3. Написать строки в которых значения нового списка будут сравнены со значением радиуса действия
- # И выведем на экран количество этих значений
- count = 0
- for d in distances:
- if d <= r:
- count = count + 1
- print(count, '- радио') # Пишем вне цикла, значение получается верным исходя из рассчитанных значений, но почему в нашем примере верный от 6? Если мы руками может посчитать что всё-таки программа верно считает!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement