Advertisement
Vitaliy_Novichikhin

2.4.2 ErrorAnswer

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