14:12 Пишем блэкджек на phyton |
Ну, точнее, не блэкджек, а его мини-вариант под названием очко. Для реализации нам понадобится колода карт, из которой каждый раз мы будем вынимать по карте и прибавлять к результату. Далее, сами "карты": шестерка, семерка, восьмерка, девятка, десятка, валет (достоинством 2), дама (3), король (4), и туз (11). koloda = [6,7,8,9,10,2,3,4,11] * 4 Случайным образом перемешаем карты, используя функцию shuffle из модуля random. import random random.shuffle(koloda) И, собственно, начинаем играть: print('Поиграем в очко?') count = 0 while True: choice = input('Будете брать карту? y/n\n') if choice == 'y': current = koloda.pop() print('Вам попалась карта достоинством %d' %current) count += current if count > 21: print('Извините, но вы проиграли') break elif count == 21: print('Поздравляю, вы набрали 21!') break else: print('У вас %d очков.' %count) elif choice == 'n': print('У вас %d очков и вы закончили игру.' %count) break print('До новых встреч!') Изначально у пользователя 0 очков. Мы его спрашиваем, будет ли он брать карту, на что он должен ответить y или n. Если пользователь ответил n, то мы говорим ему, сколько очков он набрал, и завершаем программу. Если он изъявил желание взять карту (ух, какой нехороший пользователь :)), то мы снимаем ему карту из списка (с помощьюметода pop). Мы снимаем последнюю карту, хотя вообще без разницы, какую снимать, ведь они перемешаны. Прибавляем к числу очков достоинство снятой карты, а дальше смотрим, сколько всего очков у пользователя. Если количество очков больше 21, то извиняйте, пользователь проиграл. Если число очков равно 21, то пользователь выиграл. Если меньше - еще раз спросим пользователя, будет ли он брать карту. В конце игры прощаемся с пользователем. |
|
Всего комментариев: 0 | |