Тема занятия: циклы и циклические выражения

Домашнее задание

  1. {i} Прочитать про циклы в учебнике («Первые шаги в программировании» и «Дополнительные средства управления порядком выполнения»

  2. {i} Там же прочитать про «списковые сборки» (циклические элементы)

  3. Ввести список, вывести сумму элементов:
       1 L=input()
       2 
       3 # Вариант «Паскаль»
       4 S=0
       5 for c in L:
       6     S+=c
       7 print S
       8 
       9 # Вариант «Паскаль + Duck typing»
      10 S=L[0]
      11 for c in L[1:]:
      12     S+=c
      13 print S
      14 
      15 # Вариант «Питон»
      16 print sum(L)
    
  4. Сгенерировать список строк вида
    .....*
    ....*.
    ...*..
    ..*...
    .*....
    *.....
    • и корректно вывести
      1. произвольного размера
    • Вариант «простой»
         1 N=8
         2 S=[]
         3 for i in xrange(N):
         4     S.append('.'*(N-i-1)+'*'+'.'*i)
         5 for i in xrange(N):
         6     print S[i]
      
    • Вариант с циклическим элементом и операцией join()

         1 S=['.'*(N-i-1)+'*'+'.'*i for i in xrange(N)]
         2 print "\n".join(S)
      
  5. Ввести M и N и заполнить двумерную таблицу MxN по спирали:
    1  2  3  4  5
    16 17 18 19 6
    15 24 25 20 7
    14 23 22 21 8
    13 12 11 10 9
    • Вариант «в лоб»: spiral.py

    • Вариант «поворот направо»: spiral2.py

    • Вариант¸ совмещающий достоинства первых двух: spiral1.py

Условные обозначения


CategoryClass CategoryVmsh

LecturesVMSH/2011-11-02 (последним исправлял пользователь FrBrGeorge 2011-11-04 21:08:20)