skip to navigation
skip to content

feed icon RSS хранилка

Първите две задачи

Публикувано на 08.03.2007 0:56 от николай
Последна промяна на 14.03.2007 16:44
Тази публикация е от предишно издание на курса, моля не разчитайте на актуалността на информацията.

Преди да пристъпим към условията — няколко думи относно изпращането на задачите. Всяка задача трябва да бъде решена от програма на python, която се съдържа в точно един файл. Името на файла, който изпращате няма значение. Моля, прочетете внимателно условието — програми, които не изпълняват изискванията за именуване на функции/аргументи няма да получават точки!

Крайният срок за изпращането на задачите е сряда, 14 март, 2007г, 19:00 часа.

Формуляр за изпращане на задачите.

  • 1. FuzzBuzz — 2 точки

    Fuzz е странен и обича само числата, които се делят на 3. Buzz е още по-странен и обича само числата, които се делят на 5. Седяли си те на плажа, играели Го и на 197-ата бира се зачудили колко и кои ли са числата между 1 и 197 (включително), които: се харесват на Fuzz, се харесват на Buzz, се харесват и на двамата.

    Вие като примерни деца решавате да им помогнете с тази трудна задача. Напишете програма на python, която съдържа в себе си функцията fuzzbuzz. Тази функция трябва да приема един параметър с име n и да върне един специален речник. Ключове в речника трябва да бъдат само тези числа от 0 до n (включително), които се харесват на Fuzz, на Buzz или на двамата. Стойностите на тези ключове трябва да бъдат както следва:

    • низа Fuzz, ако числото се харесва на Fuzz
    • низа Buzz, ако числото се харесва на Buzz
    • низа FuzzBuzz, ако числото се харесва и на двамата

    Примерно изпълнение:

    
    >>> print fuzzbuzz(20)
    {3: 'Fuzz', 5: 'Buzz', 6: 'Fuzz', 9: 'Fuzz', 10: 'Buzz', 12: 'Fuzz', 15: 'FuzzBuzz', 18: 'Fuzz', 20: 'Buzz'}
    
  • 2. Държави — 3 точки

    Кънчо обича да пътува! Ходил е и тук и там, даже той не е сигурен къде точно е ходил. С малко ваша помощ ще успеем да намерим всички страни, които Кънчо е посетил. Целта ви е да напишете програма на python, която съдържа ключовата функция countries. Тя получава 2 параметъра — city2country, който е речник, чийто ключове са имена на градове, а стойностите му са държавите, в които се намират тези градове. Вторият параметър се нарича visited и съдържа n-орка или списък с градовете, които Кънчо е посетил. Вашата функция трябва да върне списък с държавите, които е посетил Кънчо. В този списък всяка държава трябва да се среща точно веднъж! Също така е възможно Кънчо да е посетил градове, които ги няма в речника city2country. В такъв случай той просто си е загубил времето и не трябва да се опитвате на търсите в коя държава се намират тези градове.

    Пример:

    >>> print countries({'Honeytown': 'Beerland', 'Whoreville': 'Dreamland',
    'Stronghold': 'Dreamland', 'Pleasantan': 'Dreamland'}, ('Honeytown', 'Cuckoonest', 'Whoreville', 'Pleasantan'))
    
    ['Beerland', 'Dreamland']
    

Формуляр за изпращане на задачите.