Homework Problem 7. Print a Deck of 52 Cards

Здравейте.

Успях да реша задачата, но по мой си начин с 1 Loop и 1 Switch.

Но в условието има зададено следното:

  • Use 2 nested for-loops and a switch-case statement.
    Аз го разбирам като 2 Loops 1 Switch.

Някой ще даде ли съвет, как да се реши с 2 nested for-loops?

Знам че въпроса е излишен след като съм решил задачата, но предполагам, целта на това условие е да ни научи на по-задълбочено знание за for-loops, а на мен това ми убягва.

Поздрави. :slight_smile:

2 Likes

Здрасти, по принцип на времето и аз я реших само с един Loop, може би няма нужда да се усложнява, особено след като си я решил :slight_smile: Иначе, може да се реши с 2 нестнати Loop-a, като единият може да са самите карти, а другият - типа (пика, спатия, купа, каро).

Ето едно примерно решение с 2 нестнати Loop-a и switch, според мен съм го усложнил прекалено много, но пък може да ти е полезно :slight_smile:

Поздрави и успех!

1 Like

Здравей,

Можеш да ползваш един for loop, за да итерираш върху числата от 2 до 14, като можеш да хванеш 11, 12, 13, 14 с по един if вътре в цикъла. Например, ако i === 11, тогава да добавяш към резултата J of spades, J of clubs, J of hearts, J of diamonds и повтаряме същото за останалите. До тук решаваме проблема с J, Q, K, A картите и трябва да принтираме тези от 2 до 10. Тук може да ползваш вложен for loop, който започва от 0 и върти до 4, като всеки индекс ще добавя числото и боята, например 2 of spades, 2 of hearts и тн. Тъй като ти искаш за всяко число от 0 до 4 да добавяш различна боя има два начина да се справиш с това - с още if-oве или със switch. При число 0, да добави към резултата ${i} of spades, при 1 - ${i} of clubs и така за останалите две бои.

2 Likes

Благодаря.

Получи се.
Не знам защо, когато сам се опитвах, направих много подобно решение, Switch-a пак беше nested в nested Loop но тогава break го караше да излезе от nested Loop което вадеше по 1 резултат, вместо 4.
Ще разцъкам задачата още няколко пъти, може да попадна пак на същата грешка :D.

2 Likes

Може да се реши и с 0 цикли и с 0 switch-ове, но тогава само компютъра ще разбира какво се случва https://pastebin.com/X7yxYhBL
С 1-2 цикъла и 1 switch може да се напише така, че да се разбира лесно от всички, което е по-важно понякога https://pastebin.com/GscmQ2PY

1 Like