Предизвикателства > Пазарски списъци > Решения > Решението на Дуйгу Дуран

Резултати
1 точки от тестове
1 точки от учител

2 точки общо

8 успешни теста
0 неуспешни теста
Код

 1costadines_requirements = ('вино', 'презервативи', 'струни за китара', 'презервативи', 'перце за китара',
 2                           'презервативи', 'пица', 'бонбони', 'презервативи')
 3victors_requirements = ['вино', 'баница', 'цяло пиле', 'туршия', 'кисело зеле', 'зехтин', 'картофи', 'вино',
 4                        'кисели краставички', 'яйца']
 5joans_requirements = [*costadines_requirements, *victors_requirements, 'лубрикант', 'хавлия', 'маска на кон']
 6
 7unique_requirements = set(joans_requirements)
 8shopping_quantities = dict.fromkeys(unique_requirements, 5) | {'skyr': 1}
 9total_items_to_buy = sum(shopping_quantities.values())
10
11formatted_shopping_quantities = ', '.join(
12    f"{product}: {quantity} бр." for product, quantity in shopping_quantities.items())
13
14print(f"""Списък с продукти за Свети Валентин: {', '.join(costadines_requirements)}
15Списък с продукти за Трифон Зарезан: {', '.join(victors_requirements)}
16Списък с продукти и за двата повода: {', '.join(joans_requirements)}
17Колекция от уникалните продукти: {', '.join(unique_requirements)}
18Речник на продуктите за пазаруване: {formatted_shopping_quantities}
19Общо {total_items_to_buy} продукта за пазаруване. Като уникалните продукти са {len(shopping_quantities)} на брой.""")

Списък с продукти за Свети Валентин: вино, презервативи, струни за китара, презервативи, перце за китара, презервативи, пица, бонбони, презервативи
Списък с продукти за Трифон Зарезан: вино, баница, цяло пиле, туршия, кисело зеле, зехтин, картофи, вино, кисели краставички, яйца
Списък с продукти и за двата повода: вино, презервативи, струни за китара, презервативи, перце за китара, презервативи, пица, бонбони, презервативи, вино, баница, цяло пиле, туршия, кисело зеле, зехтин, картофи, вино, кисели краставички, яйца, лубрикант, хавлия, маска на кон
Колекция от уникалните продукти: бонбони, перце за китара, кисели краставички, лубрикант, зехтин, туршия, маска на кон, кисело зеле, презервативи, цяло пиле, струни за китара, пица, яйца, хавлия, вино, картофи, баница
Речник на продуктите за пазаруване: бонбони: 5 бр., перце за китара: 5 бр., кисели краставички: 5 бр., лубрикант: 5 бр., зехтин: 5 бр., туршия: 5 бр., маска на кон: 5 бр., кисело зеле: 5 бр., презервативи: 5 бр., цяло пиле: 5 бр., струни за китара: 5 бр., пица: 5 бр., яйца: 5 бр., хавлия: 5 бр., вино: 5 бр., картофи: 5 бр., баница: 5 бр., skyr: 1 бр.
Общо 86 продукта за пазаруване. Като уникалните продукти са 18 на брой.
........
----------------------------------------------------------------------
Ran 8 tests in 0.000s

OK

Дискусия
Виктор Бечев
02.03.2026 13:48

По-рано забелязах употребата на `|` в контекста на речниците. Сега като правя обзор на решенията виждам и реда с unpacking-а - `[*costadines_requirements, *victors_requirements, 'лубрикант', 'хавлия', 'маска на кон']`. Печелиш бонус точка.
История

f1costadines_requirements = ('вино', 'презервативи', 'струни за китара', 'презервативи', 'перце за китара',f1costadines_requirements = ('вино', 'презервативи', 'струни за китара', 'презервативи', 'перце за китара',
2                           'презервативи', 'пица', 'бонбони', 'презервативи')2                           'презервативи', 'пица', 'бонбони', 'презервативи')
3victors_requirements = ['вино', 'баница', 'цяло пиле', 'туршия', 'кисело зеле', 'зехтин', 'картофи', 'вино',3victors_requirements = ['вино', 'баница', 'цяло пиле', 'туршия', 'кисело зеле', 'зехтин', 'картофи', 'вино',
4                        'кисели краставички', 'яйца']4                        'кисели краставички', 'яйца']
5joans_requirements = [*costadines_requirements, *victors_requirements, 'лубрикант', 'хавлия', 'маска на кон']5joans_requirements = [*costadines_requirements, *victors_requirements, 'лубрикант', 'хавлия', 'маска на кон']
66
7unique_requirements = set(joans_requirements)7unique_requirements = set(joans_requirements)
8shopping_quantities = dict.fromkeys(unique_requirements, 5) | {'skyr': 1}8shopping_quantities = dict.fromkeys(unique_requirements, 5) | {'skyr': 1}
9total_items_to_buy = sum(shopping_quantities.values())9total_items_to_buy = sum(shopping_quantities.values())
1010
11formatted_shopping_quantities = ', '.join(11formatted_shopping_quantities = ', '.join(
12    f"{product}: {quantity} бр." for product, quantity in shopping_quantities.items())12    f"{product}: {quantity} бр." for product, quantity in shopping_quantities.items())
1313
14print(f"""Списък с продукти за Свети Валентин: {', '.join(costadines_requirements)}14print(f"""Списък с продукти за Свети Валентин: {', '.join(costadines_requirements)}
15Списък с продукти за Трифон Зарезан: {', '.join(victors_requirements)}15Списък с продукти за Трифон Зарезан: {', '.join(victors_requirements)}
16Списък с продукти и за двата повода: {', '.join(joans_requirements)}16Списък с продукти и за двата повода: {', '.join(joans_requirements)}
17Колекция от уникалните продукти: {', '.join(unique_requirements)}17Колекция от уникалните продукти: {', '.join(unique_requirements)}
18Речник на продуктите за пазаруване: {formatted_shopping_quantities}18Речник на продуктите за пазаруване: {formatted_shopping_quantities}
t19Общо {total_items_to_buy} продукта за пазарувване. Като уникалните продукти са {len(shopping_quantities)} на брой.""")t19Общо {total_items_to_buy} продукта за пазаруване. Като уникалните продукти са {len(shopping_quantities)} на брой.""")
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op