unit_converter(a, b, c) и резултат от функцията върху която ще се прилага x, колко трябва да е резултата след конвертиране (няма да е ax + b + c)???
Въпроси за четвърта задача
-
Питайте, ние я отговорим, я не...
14.05.2010 -
16.05.2010
-
@Филип Янков Май unit_converter или ще приема само 2 аргумента, или трябва да е нещо от рода на ax^2 + bx + c
Общия случай е следния: A0(x^n) + A1(x^(n-1)) + A2(x^(n-2)) ... + A(n-1)x + An
16.05.2010 (променeно 16.05.2010) -
Откъде получаваш
c
? Заданието е само за най-просто линейно преобразуване:ax+b
.17.05.2010 (променeно 17.05.2010) -
Тук се получи малко обърквация.
Като всеки добър декоратор, и този трябва позволява декорираната функцията да има произволен брой и вид аргументи.
Предполагам някои са го разбрали като функцията unit_converter да има произволен брой и вид аргументи. В задачата се иска декорираНата, а не декорираЩата =>
1)unit_converter си има само 2 аргумента
2)функцията, която декорираме с unit_converter, трябва да може да използва произволен брой и вид аргументи(в примера това е celsius_function()).
Все пак е добре да се потвърди от Алек и питонския скуад.
17.05.2010 (променeно 17.05.2010) -
@Георги да, прав си. ДекорираЩата функция е unit_converter() и трябва да има само 2 аргумента и да връща декоратор (
unit_converter(a,b)(func)
). ДекорираНата функция (celsius_function()
в заданието) може да има произволни аргументи.17.05.2010 (променeно 17.05.2010) -
Защо в теста имаме decorated(val = 18.0)? decorated = unit_converter(1.8, 32)(celsius_function)
Не ми е ясно откъде идва това val, пък и теста ми гърми с TypeError: decorated() got an unexpected keyword argument 'val'
18.05.2010 -
Сбъркала си някъде. decorated трябва да е модифицирания вариант на celsius_function и следователно трябва да приема аргументите на celsius_function.
18.05.2010 -
Приема. Аз по-скоро си мислех, че проблема е в самата думичка val= . Ако я махна и оставя само самата стойност 18, теста ми минава... :P
18.05.2010 -
Елена, припомни си какво прави **kwargs!
18.05.2010 -
Искам да попитам какво ще е поведението на функцията is_prime(), ако и се подаде float число - изключение или false?
23.05.2010 -
При float is_prime() връща False.
23.05.2010 -
Наглият въпрос-"Това,че връща False,за всеки float,капан ли е?".
23.05.2010 -
Не. По дефиниция простите числа са цели. Да си затворим очите за is_prime(2.0) - няма да го тестваме.
По принцип можем да направим проверка от типа на
if int(number) != number:
, но фокуса на задачата не е в това.23.05.2010 (променeно 23.05.2010) -
За testNegative() и testNonNumber() по колко теста да се правят?
24.05.2010 -
"поведението на is_prime() при числа (is_prime() ще хвърли exception)" Това значи, че трябва да бъде тествано с неща различни от числа(testNonNumber()) или "is_prime() при числа ... ще хвърли exception"?
testRandom(), желае се от нас да напишем функция is_prime()(с друго име), при 10000 случайни числа, но в какъв интервал? И това значи ли, че за всяко генерирано число трябва да се проверява за True or False от is_prime(), и функцията ни?
24.05.2010 -
@Иван Севастоянов 1-2 са достатъчни за всяко
@Атанас Анастасов Грешка, извинявам се. Правилното е "is_prime() хвърля exception при аргументи, различни от числа."
Идеята на testRandom() е точно да напишете ваша функция my_is_prime() и да сравните за 10,000 произволни числа резултата на my_is_prime() и is_prime(). Интервалът е без значение.
24.05.2010 -
Трябва ли да се генерират отрицанията на полета, които не са методи. Примерно дали
class Foo(): def __init__(self, nice): self.nice = nice
има поле not_nice
26.05.2010 (променeно 26.05.2010) -
При testRandom() само int-ове ли трябва да генерираме или измежду тях може да има и float?
26.05.2010 -
@Габриела : Мисля ,че казаха за числата ,че трябва да са естествени... Някой може ли да даде малък hint към реализацията на NegativeMetaDynamic ?
26.05.2010 -
Хмм, погледни в последните две лекции
26.05.2010 (променeно 26.05.2010) -
Я кажете:
1. Трябва ли домашното, т.е. p10.py, да рънва теста, ако се пусне от command prompt-а?
2. Защо
assertRaises
се държи неприлично с мен? Вашия is_prime коректно си вдигаException
, аз коректно му казвам наassertRaises
да очакваException
, а вместо да pass-не, ми дава ERROR?!!====================================================================== ERROR: testNonNumber (__main__.IsPrimeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "S:\Dumbledore\maths\_term\python\p10.py", line 38, in testNonNumber self.assertRaises(Exception, is_prime('villain')) File "S:\Dumbledore\maths\_term\python\p10sample.py", line 9, in is_prime raise Exception Exception
26.05.2010 (променeно 26.05.2010) -
@Светлин Анков Може би си забелязал, ама в техния пример има една ламбда...
26.05.2010 -
@Никола Петров: не, само методи.
@Останалите: каквото ви отговориха е вярно.
26.05.2010 -
Не бях забелязъл изобщо. 10x: и един едноточков палец за теб!
Нов проблем: нещо с метакласовете не става:
Traceback (most recent call last): File "S:\Dumbledore\maths\_term\python\p10.py", line 88, in <module> twenty = Comparer(20) TypeError: object.__new__() takes no parameters
Като се сърди на:
return type.__new__(clazz, name, bases, dict(negated))
26.05.2010 (променeно 26.05.2010)