170 похожих чатов

Def deal_card(): cards = [11, 2, 3,

4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
card = random.choice(cards)
return card

def calculate_score(cards):
if sum(cards) == 21 and len(cards) ==2:
return 0

Делаю игру Блэк Джек по примеру.
Если 21 это выигрыш, то почему return 0(False)? Должен же быть return 1(True)?

32 ответов

15 просмотров

Вопрос к автору кода, видимо

Juninho- Автор вопроса

Есть предположения?)

Juninho
Есть предположения?)

А там других условий нету

Juninho
Есть предположения?)

Покажи полный код. По этому не понятно, что происходит

Juninho- Автор вопроса
Ilya Samsonov
Покажи полный код. По этому не понятно, что происх...

import random def deal_card(): cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10] card = random.choice(cards) return card def calculate_score(cards): """Take a list of cards und return the score calculated from the cards """ if sum(cards) == 21 and len(cards) ==2: return 0 # Return True (1) and False (0) and can be checked with a conditional statement. if 11 in cards and sum(cards) > 21: cards.remove(11) cards.append(1) return sum(cards) def compare(user_score, computer_score): if user_score == computer_score: return "Draw" elif computer_score ==0: return "Lose, opponent has Blackjack" elif user_score == 0: return "Win with a Blackjack" elif user_score > 21: return "You went over. You lose" elif computer_score >21: return "Opponent went over. You win" elif user_score > computer_score: return "You win" else: return "You lose" def play_game(): user_cards = [] computer_cards = [] is_game_over = False for _ in range(2): #for_ in- we don't care about the iterator value, just that it should run some specific number of times user_cards.append(deal_card()) computer_cards.append(deal_card()) while not is_game_over: user_score = calculate_score(user_cards) computer_score = calculate_score(computer_cards) print(f"Your cards: {user_cards}, current score: {user_score}") print(f"Computer's first card: {computer_cards[0]}") if user_score == 0 or computer_score == 0 or user_score >21: is_game_over = True else: user_should_deal = input("Type 'y' to get another card, type 'n' to pass: ") if user_should_deal == "y": user_cards.append(deal_card()) else: is_game_over = True while computer_score != 0 and computer_score < 17: computer_cards.append(deal_card()) computer_score = calculate_score(computer_cards) print(f" Your final hand: {user_cards}, final score:{user_score}") print(f"Computer's final hand: {computer_cards}, final score: {computer_score}") print(compare(user_score,computer_score)) while input("Do you want to play a game of Blackjack? Type 'y' or 'n': ") == "y": play_game()

Juninho
import random def deal_card(): cards = [11, 2...

Залей на pastebin, пожалуйста

Juninho- Автор вопроса
Juninho
https://pastebin.com/9z5zzKfq

Неплохо бы правила приложить

Juninho- Автор вопроса

Если сумма 21 то выигрыш

Ты откуда код взял?

Juninho- Автор вопроса
Juninho
Интернет

Ну отлично, мы должны угадать теперь правила игры по коду, который может быть с ошибками?

Juninho- Автор вопроса
Tishka17
Ну отлично, мы должны угадать теперь правила игры ...

Правила простые и я думаю все знают эту игру.

Juninho
Если сумма 21 то выигрыш

В Википедии есть такая оговорка в правилах. Видимо она и проверяется в каком-то варианте. Но так как ты правила игры, которую программируешь, не знаешь, то смысла обсуждать не вижу. Код из интернета может реализовывать любой из миллион вариаций правил

Juninho- Автор вопроса
Tishka17
screenshot В Википедии есть такая оговорка в правилах. Видимо...

Мне кажется это ты не знаешь, если спрашиваешь, что за игра блекджэк

Juninho
Мне кажется это ты не знаешь, если спрашиваешь, чт...

Я не спрашивал что за игра. Я спрашивал точную формулировку правил. Компьютер работает по четким правилам, это тебе не футбол во дворе гонять, когда гол засчитывается из соображений чей мяч и кто кому воды вынес.

Tishka17
Я не спрашивал что за игра. Я спрашивал точную фор...

выигрывает мать которая быстрее скинет мяч

Juninho- Автор вопроса
Tishka17
Я не спрашивал что за игра. Я спрашивал точную фор...

Ну если ты знал эту игру, ты бы не спрашивал правила.

Juninho- Автор вопроса
Juninho
Ну если ты знал эту игру, ты бы не спрашивал прави...

Даже во дворе знают эту игру и девочки тоже

Juninho
Даже во дворе знают эту игру и девочки тоже

Вот только в каждом дворе играют немного по своему. Я буквально тебе только что показал, что в одном из вариантов правил есть оговорка, которую ты не учитывал в своих рассуждениях

Juninho
Ну если ты знал эту игру, ты бы не спрашивал прави...

речь была про том, что в таких ситуациях правила могут меняться в зависимости от подкованности игроков и приложить к коду правила, по которым он работает не самая плохая идея. ведь например те кто плохо знают правила могут ожидать от кода чего-то другого

Juninho- Автор вопроса
Nickelodeona K
речь была про том, что в таких ситуациях правила м...

Я выше написал, что код правильный и работает корректно.

Nickelodeona K
речь была про том, что в таких ситуациях правила м...

Да не только подкованности. Есть разные варианты игры, даже среди популярных

Juninho- Автор вопроса
Juninho
В этой игре нет других правил

Ты видимо в моем дворе не был

Роман
опять про мать, успокойся женщина

куда от вас сбежать то, кошмар!

Juninho
Я выше написал, что код правильный и работает корр...

Ты можешь очень долго спорить и игнорировать мысль, которую я пытаюсь донести (мысль о том, что точные формулировки важны). Это конечно же поможет тебе в освоении программирования (нет)

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
8
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Карта сайта