Advertisement
Vitaliy_Novichikhin

2.4.2ErrorInMind

Sep 15th, 2020 (edited)
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.96 KB | None | 0 0
  1. # Задача 2.4.2. Даны несколько населенных пунктов с координатами своего месторасположения.
  2. # В пункте с номером k установлена радиостанция с радиусом действия r км.
  3. # Определить сколько населенных пунктов входит в ёё радиус действия включая саму эту деревню.
  4. import math
  5. # Введем исходные данные
  6. ox = '3.4 0.7 2.0 0.4 2.5 2.6 1.7 0.2 4.0 2.5'# координаты населенных пунктов по оси ОХ - УДАЛИТЬ НА САЙТЕ
  7. #coord_ox = input() #- ДЛЯ ЗАПУСКА НА ПЛАТФОРМЕ
  8. oy = '6.4 8.3 6.8 6.7 7.4 6.4 8.9 4.7 5.3 7.6'# координаты населенных пунктов по оси ОУ - УДАЛИТЬ НА САЙТЕ
  9. #coord_oy = input() #- ДЛЯ ЗАПУСКА НА ПЛАТФОРМЕ
  10. # Конвертируем строки в списки вещественных чисел
  11. x = [float(i) for i in ox.split()] # сразу создаём список вещественных чисел, коориднаты по оси X
  12. y = [float(i) for i in oy.split()] # координаты по оси Y, вещественные числа
  13. #print(coord_oy)
  14. k = 7 #номер населенного пункта УДАЛИТЬ НА САЙТЕ
  15. #k = int(input())
  16. radius = 68 # радиус действия радиостанции
  17. #radius = float(input())
  18. #2. Подставляем значения из списков в функцию расчета расстояния между точками.
  19. # Пытаюсь расчитать значение расстояний между точками.
  20. for i in x,y:
  21.     ## Функцию пишу внутри цикла для того, чтобы туда подставлять значения из списков, хотя не совсем понимаю для чего?! Галина, поможете?
  22.     def compute_len(x[k], y[k], x[i], y[i]): # должно подставлять значения каждого из элементов списка в формулу расчета расстояния
  23.         len_line = sqrt((x[i] - x[vil]) ** 2 + (y[i] - y[vil]) ** 2)
  24.         return len_line
  25. # Пробую составить список из значений расстояний между населенными пунктами.
  26.     distance = [compute_len[i] for i in range(len(x))] ## Этот список не выводится, не могу понять как верно составить функцию
  27. # 3. Написать строки в которых значения нового списка будут сравнены со значением радиуса действия
  28. # И выведем на экран количество этих значений
  29. count = 0
  30. for d in distances:
  31.     if d >= 68:
  32.         count = count +1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement