Python python python python python python python
напишіть програму, яка реалізує популярну гру – black jack.
згідно з правилами, колода перемішується випадковим
чином, після чого кожному гравцю видається 2 карти. кожна
карта має свою «цінність», а саме: з другої до десятої цінність
карти збігається з її номіналом; валет, й король дорівнюють 10 очкам, а туз – 11.
користувач бачить тільки свої карти, відповідно, може
порахувати, скільки очок вже набрано. також є можливість
добрати з колоди необхідну кількість карт. умови виграшу
наступні: виграє той, хто набере більше очок, але не більш
ніж 21.
згідно з цими правилами, внесіть такі зміни в поданий
нижче код:
1. додайте код, який реалізує роздачу карт двом гравцям,
один із яких – бот. ясна річ, гравець не повинен знати,
які карти має бот до кінця гри.
2. додайте умову виграшу (кількість очок у гравця має бути
більше, ніж у бота).
3. додайте умову, яка не дозволить користувачеві вводити
некоректні значення.
додаткове завдання
можете приступити до цього етапу, якщо вам вдалося
виконати всі попередні пункти.
1. зробіть код більш читабельним.
у списку card_deck = [2, 3, 4, 5, 6, 7, 8, 9, 10, 10,
10, 10, 11] замініть змінні 10, 10, 10, 11 на карти відповідного
рангу j, q, k, a. додайте умову, яка перевірятиме отриману
карту. приклад того, як це повинно бути реалізовано:
if card == "q":
number = 10
2. додайте цикл, який дозволить користувачеві повторити
або завершити гру. виведіть повідомлення типу tryagain?
і варіанти відповіді: yes ([y]) и no (
3. після закінчення гри виведіть загальний рахунок і кількість перемог (player vs computer).
пояснення: поданий нижче код частково реалізує алгоритм гри. ви можете взяти цю програму за основу і поліпшити
її, згідно із завданням.
у коді card_deck = [2, 3, 4, 5, 6, 7, 8, 9, 10,
10, 10, 10, 11] ] є списком, в якому зберігається імпровізована колода карт і всі можливі варіанти значень. як відомо,
колода містить по 4 карти кожної масті, тобто card_deck =
[2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11] * 4.
додаткове завдання
можете приступити до цього етапу, якщо вам вдалося
виконати всі попередні пункти.
1. зробіть код більш читабельним.
у списку card_deck = [2, 3, 4, 5, 6, 7, 8, 9, 10, 10,
10, 10, 11] замініть змінні 10, 10, 10, 11 на карти відповідного
рангу j, q, k, a. додайте умову, яка перевірятиме отриману
карту. приклад того, як це повинно бути реалізовано:
if card == "q":
number = 10
2. додайте цикл, який дозволить користувачеві повторити
або завершити гру. виведіть повідомлення типу tryagain?
і варіанти відповіді: yes ([y]) и no (
3. після закінчення гри виведіть загальний рахунок і кількість перемог (player vs computer).
пояснення: поданий нижче код частково реалізує алгоритм гри. ви можете взяти цю програму за основу і поліпшити
її, згідно із завданням.
у коді card_deck = [2, 3, 4, 5, 6, 7, 8, 9, 10,
10, 10, 10, 11] ] є списком, в якому зберігається імпровізована колода карт і всі можливі варіанти значень. як відомо,
колода містить по 4 карти кожної масті, тобто card_deck =
[2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11] * 4.
код до завдання:
import random
card_deck = [2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10,
10, 11] * 4
random.shuffle(card_deck)
print("")
print("black jack")
print("")
print("would you like to take a card? \n\t[y] -
yes\n\t[n] - no\n")
count = 0
while true:
select = input("\nyour select: ")
if select == "y":
current_card = card_deck.pop()
print(f"your card is: {current_card}")
count += current_card
if count > 21:
print(" you lose!
(you scored over 21)")
print(f"total score: {count}")
break
elif count == 21:
print("congratulations! you win!
(you scored 21)")
print(f"total score: {count}")
break
else:
print(f"total score: {count}")
elif select == "n":
print(f"stop. total score: {count}")
break
print("\ngame over")