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")
const
n=5;
type
Matrix=array[1..n,1..n] of integer;
procedure DummySchool(var a:Matrix);
begin
Writeln('Ввод элементов матрицы');
for var i:=1 to n do begin
Write(n,' элементов строки ',i,': ');
for var j:=1 to n do Read(a[i,j]);
end;
Writeln('Сформирована матрица ',n,'x',n);
for var i:=1 to n do begin
for var j:=1 to n do Write(a[i,j]:5);
Writeln
end
end;
begin
var B:Matrix;
DummySchool(B);
var sn:=0;
var sp:=0;
for var i:=1 to n do
for var j:=1 to n do
if B[i,j]<0 then sn+=B[i,j]
else
if B[i,j]>0 then sp+=B[i,j];
Writeln('Сумма отрицательных ',sn);
Writeln('Сумма положительных ',sp)
end.
Тестовое решение:
Ввод элементов матрицы
5 элементов строки 1: 6 23 -5 13 9
5 элементов строки 2: 42 0 -38 16 37
5 элементов строки 3: -5 -18 3 11 8
5 элементов строки 4: 9 13 -11 0 3
5 элементов строки 5: 19 -17 0 15 5
Сформирована матрица 5x5
6 23 -5 13 9
42 0 -38 16 37
-5 -18 3 11 8
9 13 -11 0 3
19 -17 0 15 5
Сумма отрицательных -94
Сумма положительных 232