Функции и модули
Какое-нибудь описание.
— тема по Linux
— необязательная тема
Операторы break, continue и клауза else в циклах (если ещё не было)
дополнительные свойства последовательностей (если ещё не было)
- Функции (введение: задание, вызов, использование)
- Функции-генераторы
использование модулей random и math
Домашнее задание
— теоретическое задание
— новая тема
Повторить свойства цикла и объектов-последовательностей (про последовательности есть в library reference
Прочитать Определение функций в учебнике (можно и следующую главу )
- На плоскости заданы своими координатами п точек. Создать массив размером п (п - 1), элементами которого являются расстояния от каждой из точек до п -1 других.
При вводе вручную
from math import * def size(m1,m2): "Расстояние от точки m1 до точки m2" return sqrt((m1[0]-m2[0])*(m1[0]-m2[0])+(m1[1]-m2[1])*(m1[1]-m2[1])) Dots=input() # в формате (x1,y1), (x2,y2), ... M=[[size(m1,m2) for m1 in Dots if not m1 is m2] for m2 in Dots] for l in M: print l
Точки задаются с помощью random
Дано n и x, вычислить sin(x)+sin(x)2+sin(x)3+...+sin(x)n
from math import * n,x = input() s=sin(x) ss,r=s,s for i in xrange(1,n): ss*=s r+=ss print r
Составить алгоритм решения ребуса МУХА + МУХА + МУХА = СЛОН (различные буквы обозначают различные цифры, старшая — не 0).
"В этом решении используется факт, что все буквы обоих слов различны" M,S,mul="MUHA","SLON",3 def Same(n,w): 'Есть ли одинаковые цифры' N=("0"*w+str(n))[-w-1:] for i in xrange(w-1): for k in xrange(i+1,w): if N[i]==N[k]: return True return False for m in xrange(1,min(10**len(S)/mul,10**len(M))): if Same(m,len(M)): continue s=m*mul if Same(m*10**len(M)+s,len(M+S)): continue print m, "*", mul, "=", s