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

Четвърта задача

  • Имате да питате нещо по четвърта задача — тук е мястото.

    07.05.2009
  • Първата питагорова тройка не е ли (4,3,5)?

    08.05.2009
  • Thumbs_up

    Първата питагорова тройка не е ли (4,3,5)?

    Ами да - това за пореден път доказва, че документацията е по-бъгава от кода...

    Fixed

    08.05.2009
  • Случайно да е забранено импортирането? И ако е така, как да ползваме Fraction?

    08.05.2009
  • Случайно да е забранено импортирането?

    Не е, но ако беше - duck typing :)

    08.05.2009
  • При опит за предаване на решение ми дава:

    • Traceback (most recent call last):

      File "", line 1, in

      File "syntax_check", line 1 from fractions import Fraction ^

      SyntaxError: invalid syntax

    PS. Не се сещам как с duck typing да направя стойностите по подразбиране на някои от аргументите.

    08.05.2009 (променeно 08.05.2009)
  • При опит за предаване на решение ми дава: ...

    Това не трябва да се случва - сега ще го погледна...

    08.05.2009
  • OK - Fixed

    Както си и знаех \r...

    08.05.2009 (променeно 08.05.2009)
  • Моля ви напишете първите десет неща, които трябва да ни изведе генератора enumerate_fractions(3,2)

    08.05.2009
  • Моля ви напишете първите десет неща, които трябва да ни изведе генератора enumerate_fractions(3,2)

    Викаш го enumerate_fractions(Fraction(3,2)):

    Fraction(3, 2), Fraction(2, 3), Fraction(1, 4), Fraction(1, 5), Fraction(5, 1), 
    Fraction(6, 1), Fraction(5, 2), Fraction(4, 3), Fraction(3, 4), Fraction(2, 5)
    
    3/2 2/3 1/4 1/5 5/1 6/1 5/2 4/3 3/4 2/5

    Виж картинката в wikipedia

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

    Да но тъй като започваш от Fraction(3,2) не трябва ли да изкара и Fraction-ите които са кратни на тези, които са били преди първия подаден елемент. Примерно преди Fraction(3,2) седи Fraction(1,2) обаче по обясними причини той е изпуснат Та въпроса е не трябва ли когато дойде ред на Fraction(2, 4) той да бъде генериран, а не изпускан от нашия генератор???

    09.05.2009
  • Не.

    09.05.2009
  • Защо не?? Според мен на картинката много ясно си личи, че след 1/5 следва 2/4.

    09.05.2009
  • А какъв цвят е 2/4 на картинката?

    09.05.2009
  • Това е защото започва от 1/1 на картнката. Ако започне от това, което съм посочил дали ще е червено замисли се

    09.05.2009
  • Малко spam и от мен преди да съм си пил кафето тази сутрин (обед?).

    • permutations(l), където l = list(range(1,N)) - генератор на пермутации, лексикогпафски подредени

    Условието трудно може да е по-неясно. list(permutations([3,2,1])) пак ли трябва да върне "лексикогпафски" [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]] или по-скоро логичното [[3, 2, 1], [3, 1, 2], [2, 3, 1], [2, 1, 3], [1, 3, 2], [1, 2, 3]]?

    • ...безкраен генератор pitagores(x=1, y=1)

    На Питагор може да са му викали Pitagores в училище, но според последните разкопки в шофьорската му книжка е писало Pythagoras.

    09.05.2009
  • Thumbs_upThumbs_up

    Славомире, подсказваш. Не подсказвай.

    Нека аз да подскажа: в математически факултет сте, ако не може да изтълкувате картинката, цветовете в нея, и защо след 1/5 следва 5/1 (независимо откъде сте почнали) е редно да си зададете въпросите (1) как сте влязли и (2) как си вземате изпитите.

    Нали :)

    Иначе, наредбата в "лексикогпафски подредени" (деа тоя правопис) е тази, дефинирана от аргумента, а не естествената за стойностите на аргумента.

    Точо, моля те, добави това в условието.

    09.05.2009 (променeно 10.05.2009)
  • Благодаря за отговора =-)

    Не подсказвай.

    Опитах се. Обаче явно не всеки може да чете между редовете, още повече, че на редовете пише "При всяко влизане в нова клетка проверявате дали вече сте срещнали рационалното... ".

    А и няма да учудя, ако курса го посещават хора без особена математическа подготовка от новите "Компютърни науки" и (пази боже) "Софтуерно инж.нерство".

    09.05.2009
  • Thumbs_upThumbs_up

    Ако аргументът на permutations(l) е само от вида l = list(range(1, N)), трябва ли да мислим какво се случва, когато се викне permutations([3, 2, 1])? Или условието не е довършено и доизяснено?

    09.05.2009
  • Ако аргументът на permutations(l) е само от вида l = list(range(1, N))...

    Ако е така, защо въобще трябва да има аргумент списък, а не число N например?

    Или условието не е довършено и доизяснено?

    Да.

    09.05.2009
  • Щото има разлика между x = permutations([1, 2, 3]) next(x) --> [1, 3, 2] y = permutations([3, 1, 2]) next(y) --> [3, 2, 1] А иначе от примера би трябвало при [3, 2, 1] да викнем StopIteration.

    09.05.2009
  • Thumbs_up

    Вече отговорих на този въпрос. Погледнете малко по-нагоре.

    09.05.2009 (променeно 09.05.2009)
  • enumerate_fractions(3,2)

    Мислете го така - 3/2 е x-то в enumerate_fractions(Fraction(1,1)), кое е x+1-во...

    permutations(l), където l = list(range(1,N))

    l = [3,2,1] не е от вида l = list(range(1,N)) - няма да има извиквания с [3, 2, 1], няма да има извиквания от вида (1, 2, 3) или range(-5, 3), или генератор вместо списък и т.н. ...

    "Pitagores" беше ебавка към Стефан ;)

    За "лексикогпафски" си признавам... :(

    10.05.2009 (променeно 10.05.2009)
  • Ебавка към Стефан - наденици. Неграмотник такъв :)

    10.05.2009
  • Здравейте!

    Искам да попитам дали ще има извиквания от вида: a = enumerate_fractions(Fraction(2, 2))? Предполагам, че трябва да може да се вика по този начин, но какъв ще е резултатът от изпълнението на next(a)? Питам, защото както е описано в документацията на Python за Fractions, Fraction(2, 2) се конвертира до Fraction(1, 1), т.е.:

    a = Fraction(2, 2)
    a._numerator #1
    a._denominator #1

    Благодаря!

    10.05.2009 (променeно 10.05.2009)