Условные операторы и циклы
— тема по Linux
— необязательная тема
- Циклический элемент и итератор
Текстовый редактор и запуск программы - Условные операторы и циклы (введение)
- работа с документацией Python
Домашнее задание
— теоретическое задание
— новая тема
Прочитать в учебнике Первые шаги к программированию и Дополнительные средства управления порядком выполнения
- Сгенерировать список кубов натуральных чисел в диапазоне от 1 до 10
[i*i*i for i in xrange(10)]
Сгенерировать список списков вида
1 2 3 4 1 2 3 4 1 2 3 4
а затем транспонировать его, т. е. привести в вид
1 1 1 2 2 2 3 3 3 4 4 4
Решение:Table=[range(1,5) for i in xrange(3)] TTable=[[Table[i][j] for i in xrange(len(Table))] for j in xrange(len(Table[0]))]
Вопрос: почему неправильно range(1,5)*4?
Сгенерировать список списков вида
1 2 3 4 5 6 7 8 9 10 11 12
и проверить, правильно ли работает транспонирование из предыдущего примера :)Table=[range(i*5+1, (i+1)*5+1) for i in xrange(3)]
Сгенерировать список строк размера N✕N вида
*.... .*... ..*.. ...*. ....*
и вывести как показано в примере (без кавычек и запятых)N=10 Diag=["."*i+"*"+"."*(N-i-1) for i in xrange(N)] for s in Diag: print sУпорядочить числа в строке вида "число1/число2/число3/..."
s="2/5/2/78/2/76/2/76/1/6/23/76/7" L=[int(c) for c in s.split("/")] L.sort() r="/".join([str(n) for n in L])- Найти второй максимум среди элементов списка
- M2 ∈ списку L:
- M2 == L[0], если L[i]==L[k] ∀ i,k, т. е. все элементы списка L равны
L[i] ⩽ M2 < M ∀ i: L[i]<M, где M=max(L), т. е. M2 не меньше любого элемента списка, кроме максимума
M=M2=Arr[0] for e in Arr: if e>M: M2,M=M,e elif e<M: if e>M2: M2=e
