Вход | Регистрация

Трета задача

  • Thumbs_up

    мога ли да си задам несхто от вида Quaternion(3,4,5) ще има ли от тоя сорт и ако да какво се предполага да става ?

    05.04.2009
  • Thumbs_up

    мога ли да си задам несхто от вида Quaternion(3,4,5) ще има ли от тоя сорт и ако да какво се предполага да става ?

    Неща, които не са в условието няма да има.

    05.04.2009
  • Thumbs_up

    За да конструираме атрибут vector, можем ли да създадем подклас на класа Quaternion, в който да променяме атрибута self.e?

    05.04.2009
  • Thumbs_up

    За да конструираме атрибут vector, можем ли да създадем подклас на класа Quaternion, в който да променяме атрибута self.e?

    Не

    05.04.2009
  • Thumbs_up

    "Здравейте" и от мен.

    Бих искал малко помощ относно immutability. Опитвах да "преслушвам" всички блокове, за които се сетих, дори и вложени try, и по никакъв начин не успях да го накарам да обработва изключението, както трябва. Как да се справи човек с факта, че в конструктора се извършват позволени set, пък извън него - непозволени? Може ли по някакъв начин да се определи "областта", където е възникнало изключението?

    05.04.2009
  • Thumbs_up

    Разсъждаваш в грешната посока, няма нужда да прихващаш изключения.

    05.04.2009 (променeно 05.04.2009)
  • Thumbs_up

    Здравейте!

    Искам да попитам ще има ли извиквания от вида:

    Quaternion(range(1,5))

    Ако е така, това означава, че Quaternion ще трябва да може да се създава от итератор.

    Отново мерси :)

    05.04.2009
  • Thumbs_up

    Имам следният въпрос: какво се има впредвид под от "статични атрибути" е, i, j, k на класа? Защото нищо не пише за това дали трябва да им е забранено променянето, очевидно е че не трябва да се променят, но въпроса е дали трябва да се имплементира и как точно се прави getter за статични неща?

    05.04.2009
  • Thumbs_up

    Разсъждаваш в грешната посока, няма нужда да прихващаш изключения.

    В такъв случай, как да дискриминирам между позволените и непозволените случаи ?

    05.04.2009
  • Thumbs_up

    Нали и в __add__ не трябва да има return, т.е. не трябва да връща стойност? може ли да има нещо като self.e=self.e+other.e? Или трябва да е self.a=self.e+other.e?

    05.04.2009
  • Thumbs_up

    Напротив трябжа да връща нов обект, не аз така си мисля

    05.04.2009
  • Thumbs_upThumbs_up

    Искам да попитам ще има ли извиквания от вида: Quaternion(range(1,5))

    От условието - Конструиране "от 4ка (tuple/list/range/map/... от int/float) - представя четирите координати"

    С други думи - да, но ще има точния брой елементи.

    Имам следният въпрос: какво се има впредвид под от "статични атрибути" е, i, j, k на класа? Защото нищо не пише за това дали трябва да им е забранено променянето, очевидно е че не трябва да се променят, но въпроса е дали трябва да се имплементира и как точно се прави getter за статични неща?

    За статичните атрибути се изисква само "четене".

    no comment за как се имплементира.

    Нали и в __add__ не трябва да има return, т.е. не трябва да връща стойност? може ли да има нещо като self.e=self.e+other.e? Или трябва да е self.a=self.e+other.e?

    self.a=self.e+other.e трябва да вдига TypeError, за __add__ не разбрах?

    05.04.2009 (променeно 05.04.2009)
  • Thumbs_up

    Ок пражя си статицхните атрибути и си върви нормално, но след като затвря фаила и го отжоря наново дава e = Quaternion(1, 0 , 0, 0) NameError: name 'Quaternion' is not defined как да го избегна ?

    05.04.2009
  • Thumbs_up

    А може ли в __init__ да има return?

    05.04.2009
  • Thumbs_upThumbs_up

    Не не може да има return , така няма да инициализираш обект, ще направищ мазало

    05.04.2009
  • Thumbs_up

    Не можах да разбера само как може "vector", да е Квантерион. Получава се безкрайна рекурсия.

    05.04.2009
  • Thumbs_up

    Quaternion.e е различно от q.e където q = Quaternion(1,3,4,5) нали ?

    05.04.2009
  • Thumbs_up

    Да. Quaternion.e е статичен обект, а q=Quaternion(x,y,z,x2) е различен обект.

    05.04.2009
  • Thumbs_up

    Не можах да разбера само как може "vector", да е Квантерион. Получава се безкрайна рекурсия.

    Не е задължително...

    Quaternion.e е различно от q.e където q = Quaternion(1,3,4,5) нали

    едното е Quaternion, другото е int/float

    05.04.2009
  • Thumbs_up

    Явно не... щом е в условието...

    05.04.2009
  • Thumbs_up

    Първото е Quaternion с атрибути 1, 0, 0, 0, а второто е само числото 1.

    05.04.2009
  • Thumbs_up

    добре за да забраним достъп до статичните атрибути през кой метод се минава...за __setattr__ ясно там трябва да имаш обек и си правиш врътките, а за статичните където нямаш обект какво правим...за статични сме говорили само за методи май знам ли или не съм чул... гледам и в презентацията има подробна информация за статичните атрибути...

    05.04.2009
  • Thumbs_up

    На статичните няма нужда да забраняваш модифицирането

    05.04.2009
  • ок ...че се притесних ...по нагоре май стана въпрос че трябвало за това питам

    05.04.2009
  • Thumbs_up

    За статичните атрибути се изисква само "четене".

    05.04.2009