Втора задача

  1. Втора задача е публикувана. Срокът ви е до петък вечерта.

    Напомням още веднъж. Ще бъдем крайни, ако нарушавате конвенциите. Ако още не сте го направили, прочетете много добре PEP 8. Не изпращайте домашно, без да сте изпълнили примерните тестове и без да сте направили обстойна проверка за това, дали случайно не нарушавате някоя от конвенциите в PEP 8.

  2. Какво се очаква да върне identity, ако е зададена функция с няколко аргумента? Предполагам, че ще бъде list или tuple. Ако е така, какво се случва с един аргумент? list/tuple с един елемент или само елемента?

    Плюс, трябва да внимаваш после да пуснеш този списък не като списък при следващото извикване на функцията. @Марто, според мен е логично да работи само при един параметър.

    ПС. упс, става въпрос за iterate функцията.

  3. Става въпрос точно за identity функцията и също за функцията, която се подава на iterate(двете неща са свързани). Мисля, че съм го направил за променлив брой аргументи, за именовани аргументи ще трябва да понапиша още код(естествено ако кажат, че може да има).

  4. Мисля, че се очаква точно един аргумент. В противен случай малко трудно ще композираш func(func(func(...))), тъй като входа и изхода няма да пасват. Най-много след първия да има опционални, но ми се струва, че не се очакват такива работи =)

  5. Не виждам проблем func да връща tuple от толкова елементи, колкото параметри е приел.

    Едит: Естествено ще трябва да се разпъва tuple-a. Така че наистина звучи най-логично да е с 1 параметър.

  6. Имам въпрос за кеширащата функция: ако имаме кеш с размер 2 и го извикаме за 1, то стойността се пресмята и се запазва. След това с 2 - същото; и после ако извикам пак 1, то тя ще се вземе от кеша. Но ако след това извикаме за 3, то коя стойност трябва да се махне - най-старата пресметната (в случая за 1) или най-старата използвана (в случая за 2)?

Трябва да сте влезли в системата, за да може да отговаряте на теми.