Функции, случайные числа, генераторы тестов для задач

Первая часть разговора про функции.

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

  1. {i} Прочитать в учебнике про определение функций ( {*} можно и следующую главу), а в документации — про модуль random

  2. Произносимые слова. Сгенерировать несколько «произносимых» слов случайной длины по принципу:
    1. Согласная-гласная-согласная... и т. п.
    2. Слог-слог-слог... и т. п., где каждый слог состоит из разумного числа гласных и согласных
    3. ...то де самое с учётом частоты употребления различных букв
  3. Транспонировать матрицу, т. е. ввести таблицу (список списков или список строк, по желанию) и вывести её отраженной относительно главной диагонали, например:
      />>>>>\              /|||||\
      |  A  |              >  D  <
      | B C |              > B F <
      |D   E| превратить в >A   H<
      | F G |              > C G <
      |  H  |              >  E  <
      \<<<<</              \|||||/
    • оформить в виде функции
    • написать функцию-генератор каких-нибудь красивых таблиц, вроде приведённой
  4. Написать программу, реализующую бинарное возведение в степень для любой заданной функции (например, для возведения в степень и для умножения строки на число путём сложения строк, при этом умножение чисел и сложение строк оформляются как функции)

  5. TODO Олимпиадная задача

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


CategoryClass CategoryVmsh