Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 1, 2017 04:22:59

alextt
Зарегистрирован: 2016-12-24
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

задачи

3. Вывести все возможные парные сочетания (кортежами) чисел из заданного списка элементов.
-> (1,5), (1,6), (1,7), (5,6), (5,7), (6,7)

4. Ф-ция dist получает два аргумента: точки p1 и p2 (являющиеся кортежами с двумя координатами) на плоскости. Возвращает расстояние между точками.
пример:
dist((1, 0), (0, 1)) -> 1.41421356237

Офлайн

#2 Янв. 1, 2017 08:04:36

ampermetr
Зарегистрирован: 2016-01-27
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

задачи

4.

 import math
def dist(x, y):
    return math.sqrt((x[0]-y[0])**2 + (x[1]-y[1])**2)

Офлайн

#3 Янв. 1, 2017 12:01:11

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

задачи

3.

 >>> lst = [1, 5, 6, 7]
>>> t = [(i,j) for i in lst for j in lst[lst.index(i):] if i !=j]
>>> t
[(1, 5), (1, 6), (1, 7), (5, 6), (5, 7), (6, 7)]

Отредактировано old_monty (Янв. 1, 2017 12:02:46)

Офлайн

#4 Янв. 1, 2017 20:45:14

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

задачи

3. (вариант с использованием модуля itertools, рекомендую)

 >>> import itertools
>>> lst = [1, 5, 6, 7]
>>> list(itertools.combinations(lst, 2))
[(1, 5), (1, 6), (1, 7), (5, 6), (5, 7), (6, 7)]

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version