Форум сайта python.su
3. Вывести все возможные парные сочетания (кортежами) чисел из заданного списка элементов.
-> (1,5), (1,6), (1,7), (5,6), (5,7), (6,7)
4. Ф-ция dist получает два аргумента: точки p1 и p2 (являющиеся кортежами с двумя координатами) на плоскости. Возвращает расстояние между точками.
пример:
dist((1, 0), (0, 1)) -> 1.41421356237
Офлайн
4.
import math def dist(x, y): return math.sqrt((x[0]-y[0])**2 + (x[1]-y[1])**2)
Офлайн
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)
Офлайн
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)]
Офлайн