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 ответов

12 просмотров

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

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
Я выше написал, что код правильный и работает корр...

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

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта