Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2016, 18:51   #1
Lord_Fallen
Новичок
Джуниор
 
Регистрация: 22.02.2016
Сообщений: 3
По умолчанию Работа со списками Python 3

Здравствуйте, нужна помощь с задачей по питону:
Рассматривается двумерное пространство, множество X точек в этом пространстве и круг С в этом пространстве.
Требуется разработать функцию, которая возвращает число точек множества X, которые принадлежат кругу С. Круг и множество точек X задаются параметрами функции. Круг C задается координатами центра круга O и длинной радиуса R, а множество точек X списком координат.
есть функция, работающая для одной точки:
[ CODE ]
x1, y1= eval(input('введите координаты точки'))
r= eval(input('введите радиус окр'))
x,y= eval(input('введите координаты центра окр'))
def funk(x,y,r,x1,y1):
if (x-x1)**2+(y-y1)**2<=r**2:
a = ('принадлежит')
else:
a = ('не принадлежит')
return (a)
print(funk(x,y,r,x1,y1))
[ / CODE ]
Lord_Fallen вне форума Ответить с цитированием
Старый 22.02.2016, 19:26   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Ну так пройдись по вектору Х и для каждой точки запусти funk
Код:
def c(x,x1,y1,r):
    count = 0
    for i in range(len(x)):
        if funk(x1,y1,r,x[i].x,x[i].y) == "принадлежит":
            count =+ 1
    return count
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 22.02.2016, 20:02   #3
Lord_Fallen
Новичок
Джуниор
 
Регистрация: 22.02.2016
Сообщений: 3
По умолчанию

Aleksandr H, спасибо, но как ввести список координат?

Последний раз редактировалось Lord_Fallen; 22.02.2016 в 21:26.
Lord_Fallen вне форума Ответить с цитированием
Старый 23.02.2016, 09:33   #4
Lord_Fallen
Новичок
Джуниор
 
Регистрация: 22.02.2016
Сообщений: 3
По умолчанию

Уточню вопрос. Не могу прописать один нюанс. Не могу понять, как ввести списки координат. Обычно в списке одному значению присваивается один номер. А у меня две координаты х и у. Как двум значениям присвоить один номер? Помогите, плиз...
Lord_Fallen вне форума Ответить с цитированием
Старый 23.02.2016, 10:23   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
def get_x_array(n):
    x = []
    for i in range(n):
        x.append([])
        x[i].append(int(input('X'+str(i)+' coord :')))
        x[i].append(int(input('Y'+str(i)+' coord :')))
    return x
def funk(x,y,r,x1,y1):
    if (x-x1)**2+(y-y1)**2<=r**2:
        a='Is Belong To'
    else:
        a='Is Not Belong To'
    return a
def c(x,x1,y1,r):
    count = 0
    for i in range(len(x)):
        if funk(x1,y1,r,x[i][0],x[i][1])=='Is Belong To':
            count =+ 1
            print (x[i][0],x[i][1])
    return count
n = int(input('X Length : '))
x_arr = get_x_array(n)
r = int(input('R distance :'))
x,y = (input('Xr0, Yr0 coords :'))
print c(x_arr,x,y,r)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со списками NoviceYola Паскаль, Turbo Pascal, PascalABC.NET 1 18.04.2014 11:44
Работа со списками iCaesy Паскаль, Turbo Pascal, PascalABC.NET 2 29.09.2013 13:53
Работа со списками puzik_off Фриланс 8 30.12.2009 12:02
Работа со списками Dimo444ka Помощь студентам 2 01.06.2008 16:34
Работа со списками. radist Паскаль, Turbo Pascal, PascalABC.NET 4 07.05.2007 00:05