Работа со строками и другими последовательсностями

Дополнительно рассматривается понятие метода и поля объекта.

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

  1. {i} Прочитать в учебнике про строки, в официальной документации — String methods и New string formatting.

  2. Ввести W — ширину экрана, вывести таблицу умножения от 1x1 до 10x10 в несколько колонок (сообразно ширине)
    • Примерно так:
      Ширина экрана: 66
       1*1 =1    2*1 =2    3*1 =3    4*1 =4    5*1 =5    6*1 =6  
       1*2 =2    2*2 =4    3*2 =6    4*2 =8    5*2 =10   6*2 =12 
       1*3 =3    2*3 =6    3*3 =9    4*3 =12   5*3 =15   6*3 =18 
       1*4 =4    2*4 =8    3*4 =12   4*4 =16   5*4 =20   6*4 =24 
       1*5 =5    2*5 =10   3*5 =15   4*5 =20   5*5 =25   6*5 =30 
       1*6 =6    2*6 =12   3*6 =18   4*6 =24   5*6 =30   6*6 =36 
       1*7 =7    2*7 =14   3*7 =21   4*7 =28   5*7 =35   6*7 =42 
       1*8 =8    2*8 =16   3*8 =24   4*8 =32   5*8 =40   6*8 =48 
       1*9 =9    2*9 =18   3*9 =27   4*9 =36   5*9 =45   6*9 =54 
       1*10=10   2*10=20   3*10=30   4*10=40   5*10=50   6*10=60 
       7*1 =7    8*1 =8    9*1 =9   10*1 =10 
       7*2 =14   8*2 =16   9*2 =18  10*2 =20 
       7*3 =21   8*3 =24   9*3 =27  10*3 =30 
       7*4 =28   8*4 =32   9*4 =36  10*4 =40 
       7*5 =35   8*5 =40   9*5 =45  10*5 =50 
       7*6 =42   8*6 =48   9*6 =54  10*6 =60 
       7*7 =49   8*7 =56   9*7 =63  10*7 =70 
       7*8 =56   8*8 =64   9*8 =72  10*8 =80 
       7*9 =63   8*9 =72   9*9 =81  10*9 =90 
       7*10=70   8*10=80   9*10=90  10*10=100
    • Решение без учёта того, что колонки могут быть разной ширины: umnoj.py

  3. Ввести строку и удалить все лишние пробелы (лишними считаются второй, третий и т. п. пробелы между словами, а также все пробелы в начале и в конце строки)
  4. Реализовать алгоритм бинарного возведения в степень: a2n=an*an; a(2n+1)=an*an*a

       1   a,b=input()
       2   res=1
       3   while b:
       4     if b%2: res*=a
       5     a*=a
       6     b/=2
    

    Доказать правильность вычислений

  5. MCCME Строка S была записана много раз подряд, после чего из получившейся строки взяли подстроку и дали вам. Ваша задача определить минимально возможную длину исходной строки S. Длина подстроки не превышает 50000 символов.

    • mccme101_ciklstr.py, содержит {*} процедуру генерации тестовой подстроки

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


CategoryClass CategoryVmsh

LecturesVMSH/2011-11-09 (last edited 2011-11-16 13:00:03 by FrBrGeorge)