Проблема: не могу сосчитать сумму

AlexandrMI

Новичок
Пользователь
Авг 14, 2020
8
0
1
Код:
import math
k=7
r=68   
x_n=[27, 53, 44, 88, 35, 86, 92, 20, 10, 73, 81]

y_n=[97, 22, 57, 58, 37, 55, 34, 29, 80, 55, 71]

def R(x_i,y_i):
    s = math.sqrt((x_i - x_0)**2 + (y_i - y_0) **2)
    return s

for i in range(len(x_n)):
    x_0 = x_n[k]
    y_0 = y_n[k]
    x_i = x_n[i]
    y_i = y_n[i]
    distance = math.sqrt((x_i - x_0)**2 + (y_i - y_0) **2)
    n = 0
    if (distance - r) <= 0:
       n+=1
       print(n)
      
# Нужно найти сумму "единиц", полученных после вычисления n
 

Farruh

Пользователь
Пользователь
Авг 9, 2020
15
5
3
Объявите в самом начале n = 0, там где вы объявляете все переменные, а на экран выводите уже после работы итератора.
 

floordiv

Пух
Команда форума
Модератор
Авг 14, 2020
21
7
3
Код:
# global counter
successful_iters = 0

for i in range(len(x_n)):
    x_0 = x_n[k]
    y_0 = y_n[k]
    x_i = x_n[i]
    y_i = y_n[i]
    distance = math.sqrt((x_i - x_0)**2 + (y_i - y_0) **2)
    n = 0
    if (distance - r) <= 0:
       n+=1
       successful_iters += 1
       print(n)

print('Successful iterations:', successful_iters)
 
  • Мне нравится
Реакции: Student

Farruh

Пользователь
Пользователь
Авг 9, 2020
15
5
3
n тогда можно убрать
 
  • Мне нравится
Реакции: floordiv

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
В соседней теме ж написал уже. Зачем дублировать.
 
  • Мне нравится
Реакции: floordiv и Student

Форум IT Специалистов