Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.mithril.cs.msu.su/LecturesVMSH/2012-04-25
Дата изменения: Unknown
Дата индексирования: Sun Apr 10 02:51:13 2016
Кодировка: UTF-8
LecturesVMSH/2012-04-25 - UNИX

Элементы функционального программирования

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

  1. {i} Прочитать в учебнике про Лямбда-функции и инструменты фунционального программирования.

  2. Решить ?задачу про матанализ?

    • (Написать генератор входных данных)
    • в три строчки
      • подсказка: первоначальное присваивание можно сделать одной строкой
    • в две строчки
      • подсказка: чтобы присвоить элементу списка некоторое значение (например, в теле лямбда-функции) можно вместо P[i]=k использовать P.__setitem__(i,k)

      • грубая подсказка: __setitem__ возвращает None

    • в одну строку вообще без присваиваний (теперь это уж дело совсем простое)
    • Решение: Matan.py

  3. Решить ?задачу про письмо?

    • (Написать генератор входных данных)
    • хоть как-нибудь, но быстро
    • в две строки (опять пригодится reduce())

      • подсказка: возможно, станет проще, если введенную строку превратить в список True и False, например, так: map(str.isupper,raw_input())

    • в одну строку
      • подсказка: если некоторый объект S по ходу вычислений нужен несколько раз (например, в виде S, [S.count(True), S.count(True), 0]), а сам этот обект ? функция, вычисление которой нельзя повторить (например, raw_input()), помогает применение (labmda S: S, [S.count(True), S.count(True), 0])(raw_input()). Обратите внимание на то, что результат выражения labmda S: S, [S.count(True), S.count(True), 0] в первых скобках ? функция, которая применяется к выражению во вторых скобках

      • Решение: NOCamelCase.py

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


CategoryClass CategoryVmsh

LecturesVMSH/2012-04-25 (последним исправлял пользователь FrBrGeorge 2012-05-02 05:59:46)